일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- react
- apple developer academy 후기
- global soop
- Swift 문법
- 운영체제
- 애플 디벨로퍼 아카데미 21주차 회고
- SWIFT
- StateObject
- 애플 디벨로퍼 아카데미
- ObservableObject
- 네이버 치지직
- 제앱소
- 네이버 부스트캠프
- ObservedObject
- 애플 디벨로퍼 아카데미 후기
- 소프트웨어분석및설계
- OS
- 숭실대
- 데이터베이스 공부
- 애플 아카데미 후기
- 치지직
- swift문법
- 데이터베이스
- useReducer
- iOS 개발 오류
- Swift 기능
- Swift 디자인패턴
- sqoop
- Apple Developer Academy @ POSTECH
- 앱 비교 프로젝트
- Today
- Total
사과하는 제라스
3. SQL 1 - DDL 본문
목차
- DDL(Data Definition Language)
기능
1) 관계 스키마
2) 속성의 도메인
3) 무결성 제약
4) 관계에 연관되는 인덱스
5) 관계 저장을 위한 디스크 상의 물리적 구조
6) 관계에 연관되는 보안 및 권한 부여/취소
SQL 도메인 타입
1) char(n) : 길이가 n인 문자열
2) varchar(n) : 최대 길이 n까지 가능한 문자열 → Oracle에선 varchar2(n)
3) int : Integer형
4) smallint : Small Integer형
5) numeric(p, d) : 유효숫자 p개, 소수점 다음 숫자 d개의 수 → Oracle에선 decimal(p, d), number(p, d)
ex) numeric(7, 2) → xxxxx.xx
6) float(n) : 최소 n자리 이상의 float형 숫자
- 테이블 생성
ex)
Create table professor (
pID char(5),
name varchar(20) not null, //not null 같은 걸 무결성 제약이라고 하며, 이는 따로 이름을 붙일 수 있다.
deptName varchar(20),
salary numeric(8, 2)
);
- 무결성 제약(Integrity Constraint)
대표적인 무결성 제약 3가지
1) A1 char(8) not null
→ A1 속성은 널 값을 가질 수 없음.
2) primary key (A1,A2)
→ (A1,A2)는 주 키.
아래처럼 주 키가 한개일 경우엔 다음처럼 속성 타입 선언부분에 같이 써줘도 무방함.
A1 char(8) primary key,
3) foreign key (A2) references department(K)
→ A2는 외래키로 department table의 주 키를 참조함. 이때 주키는 K인데 department 뒤에 K는 생략해도 무방함.(안 써줘도 외래키는 알아서 주 키를 참조할 거니까)
아래처럼 무결성 제약이 이름을 가질 수도 있는데, 후에 해당 제약을 삭제하거나 변경할 때 용이함.
constraint myFirstForeignKey foreign key (deptName) references department(deptName)
+) check (gender in ('F', 'M'))
→ gender 속성은 반드시 'F'나 'M'을 값으로 가져야 함.
- 스키마 삭제
Drop table student; //Drop은 스키마(table) 자체를 날려버림.
Delete from student Where sID>20180000; //Delete는 Where절을 쓸 수 있고, 조건으로 원하는 tuple을 날림.
Truncate table student; //Truncate는 Where절을 쓸 수 없고, 스키마는 남긴 채 안의 tuple들을 모두 날림.
- 스키마 변경
ex1) Alter table r add 속성 도메인;
Alter table r add university varchar(10) not null
ex2) Alter table r drop 속성;
Alter table r drop university;
'대학 전공 공부 > 데이터베이스1' 카테고리의 다른 글
SQL Examples (0) | 2022.04.25 |
---|---|
3. SQL 1 - DML (0) | 2022.04.25 |
3. SQL 1 - Intro (0) | 2022.04.24 |
2. 관계형 데이터 모델<하> (0) | 2022.04.24 |
2. 관계형 데이터 모델 <상> (0) | 2022.04.24 |