일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인프런
- props
- Concurrently
- 타자 게임 만들기
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- node.js로 로그인하기
- 모두의 파이썬
- JS 개념
- 리액트
- 노드에 리액트 추가하기
- Colaboratory 글자 깨짐
- 자바스크립트
- 따라하며 배우는 노드 리액트 기본 강의
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- 웹 게임을 만들며 배우는 리액트
- spring-boot
- vs code 내 node
- react
- googleColaboratory
- intellij
- node.js 설치
- Spring-Framework
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- 모던자바스크립트
- 거북이 대포 게임
- 계산맞추기 게임
- Do it 자바스크립트 + 제이쿼리 입문
- Python
- DB Browser
- react오류
- Today
- Total
프로그래밍 삽질 중
데이터베이스 기본 개념 (2) 관계형 데이터베이스(스키마, 인스턴스 등) 본문
※ 관계형 데이터베이스
- 데이터를 2차원 테이블 형태로 저장하고 관리
- 키와 관례라는 연결하여 데이터를 조회하고 가공하는 방식
※ 테이블(릴레이션)
- 하나의 계체에 관한 데이터를 2차원 테이블 구조로 저장 (EX) 엑셀 행렬구조
- 행과 열로 구성
- 속성 : 단일 값을 가짐(한 릴레이션에서 서로 다른 이름을 가짐), 순서는 상관X, 한 속성 값은 모두 같은 도메인 값 가짐
- 중복된 튜플 허용 X, 튜플 순서는 상관 없음
※ 릴레이션 스키마
- 속성 : 릴레이션 스키마의 열
- 도메인 : 속성이 가질 수 있는 모든 값의 집합
- 차수 : 속성의 전체 개수
※ 스키마의 표현
- 릴레이션 이름(속성 1 : 도메인 1, 속성2 : 도메인 2, 속성3: 도메인 3....)
ex) 자동차(지역번호 : integer, 이름 : char(20), 색상 : char(40), 번호 : char(90)...)
※ 릴레이션 인스턴스
- 튜플 : 릴레이션의 행
- 카디날리티 : 튜플의 수
※ 관계
- 릴레이션 내에서 생성되는 관계 : 릴레이션 내 데이터들의 관계
- 릴레이션 간에 생성되는 관계 : 릴레이션 간의 관계
[예시]
ID | PHONE | YEAR | PRICE | USER |
001 | SAMSUNG | 20 | 30000 | HAN |
002 | APPLE | 15 | 40000 | KIM |
003 | XIAOMI | 10 | 10000 | PARK |
- 행과 열로 되어있는 네모박스 : (가칭)Phone 테이블
- ID ~ USER : 속성(열)
- ID 항목, YEAR 항목, PRICE 항목 : 릴레이션 스키마(각각)
- 001 ~ 003 부터 HAN ~ PARK : 인스턴스
- 001 ~ HAN : TUPLE(행)
- 차수(degree) : 5 (ID~USER) / 카디널리티(cardinality) : 3 (001 ~ 003)
※ 키(KEY)
- 수 많은 데이터를 구별 할 수 있는 유일한 값
- 하나의 테이블을 구성하는 여러 열 중 특별한 의미를 지닌 하나 또는 여러 열의 조합
- 유일성, 최소성 특징을 가짐
※ 키의 종류
1) 기본키 : 테이블에 저장된 행을 식별할 유일한 값(중복X, NULL값 X)
2) 후보키 : 유일성과 최소성을 만족하는 소석 또는 속성 집합
3) 대체키 : 기본키가 되지 못한 후보키
4) 외래키 : 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키
- 같은 릴레이션의 기본키를 참조하는 외래키도 정의 가능
- 외래키 속성은 null값을 가질 수 있음
※ 무결성 제약조건
- 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
1) 개체 무결정 제약 조건 : 기본키를 구성하는 모든 속성은 null값을 가질 수 없는 규칙
- 기본키가 같으면 삽입 금지
- 기본키 값이 같거나 null로도 수정 금지
- 특별한 확인이 필요하지 않으며 즉시 수행함
2) 참조 무결성 제약 조건 : 외래키는 참조할 수 없는 값을 가질 수 없는 규칙
부모 릴레이션 | 자식 릴레이션 | |
삽입 | 튜플 삽입 후 수행하면 정상적으로 진행 | 참조 받은 테이블에 외래키 값이 없으므로 삽입 금지 |
삭제 | 참조하는 테이블을 같이 삭제할 수 있으므로 삭제 금지 OR 추가 작업 필요 | 바로 삭제 가능 |
- 명령어 존재
1) RESTRICTED : 자식 릴레이션에서 참조하는 경우 부모 릴레이션에서 삭제 작업 거부
2) CASCADE : 자식 릴레이션의 관랸 튜플을 같이 삭제 처리
3) DEFAULT : 자식 릴레이션의 관련 튜플릉 ㄹ미리 설정한 값으로 변경
4) NULL : 자식 릴레이션의 관련 튜플을 NULL값으로 설정(NULL값을 허가한 경우)
'과거 프로그래밍 자료들 > SQL(Oracle)' 카테고리의 다른 글
SQL 조인 설명 및 예제 (0) | 2021.03.22 |
---|---|
SQL 함수 설명 및 예제 (0) | 2021.03.17 |
SQL 기초 (2) 데이터 타입 및 출력방법 (결과 값 제외) (0) | 2021.03.16 |
SQL 기초 (1) 데이터 타입 및 출력방법 (결과 값 존재) (0) | 2021.03.16 |
데이터베이스 기본 개념 (1) DBMS 정의, DB정의, SQL정의 (0) | 2021.03.16 |