일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Database
- 인터넷의이해
- ICT멘토링
- Spring
- Web
- C언어
- Docker
- Powershell
- suricata
- Rocky Linux
- Spring Boot
- 국가과제
- git
- ChatGPT
- 크롤링 개발
- 고등학생 대상
- Resnet
- Github
- OSS
- Machine Learning
- API
- KAKAO
- rnn
- LINUX MASTER
- VSCode
- Python
- cloud
- 코딩도장
- colab
- GoogleDrive
- Today
- Total
코딩두의 포트폴리오
Database - # 07_01 본문
7.1 SQL의 소개
SQL (Structured Query Language)
비절차적 데이터 언어의 특징
사용 방식
- 대화식 SQL: 데이터베이스 관리 시스템에 직접 접근해 질의를 작성하여 실행
- 삽입 SQL: 프로그래밍 언어로 작성된 응용 프로그램에 삽입
SQL의 분류
- 데이터 정의어(DDL): 테이블을 생성하고 변경,제거하는 기능을 제공
- 데이터 조작어(DML): 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정,삭제,검색하는 기능을 제공
- 데이터 제어어(DCL): 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능을 제공
질의에 사용할 판매 데이터베이스: 고객 테이블
질의에 사용할 판매 데이터베이스: 제품 테이블
질의에 사용할 판매 데이터베이스: 주문 테이블
7.2 SQL을 이용한 데이터 정의
SQL 데이터 정의 기능
테이블 생성 - CREATE TABLE
테이블 변경 - ALTER TABLE
테이블 삭제 - DROP TABLE
테이블 생성 : CREATE TABLE 문
생성할 테이블을 구성하는 아래의 항목을 포함
- 속성들의 이름
- 데이터 타입 및 제약 사항에 대한 정의
- 기본키, 대체키, 외래키의 정의
- 데이터 무결성을 위한 제약조건의 정의
속성의 정의
테이블을 구성하는 각 속성의 데이터 타입을 선택 -> NULL 값 허용 여부와 기본 값 필요 여부를 결정
CREATE TABLE문으로 생성된 테이블은 속성의 NULL 값 허용
NOT NULL: 속성이 널 값을 허용하지 않음을 의미하는 키워드
- 기본키를 구성하는 모든 속성은 NULL 값을 가질 수 없도록 반드시 NOT NULL 키워드를 표기 -> 개체 무결성 제약조건
- 기본키를 구성하는 속성이 아니더라도 값을 꼭 입력해야 한다면 NOT NULL 키워드를 표기
ex) 고객아이디(C_ID) VARCHAR(20) NOT NULL
-> 고객 테이블의 고객아이디 속성을 길이가 최대 20인 가변 길이의 문자열 데이터로 구성하고, NULL 값을 허용하지 않음
DEFAULT: 속성의 기본 값을 지정하는 키워드
- ex) 적립급(C_Reverse) INT DEFAULT 0
고객 테이블의 적립금 속성을 정수 데이터로 구성, 사용자가 적립금을 입력하지 않으면 0이 기본으로 저장되도록 함
- ex) 담당자 VARCHAR(10) DEFAULT '방경아'
고객 테이블의 담당자 속성은 길이가 최대 10인 가변 길이의 문자열 데이터로 구성, 담당자를 입력하지 않으면 방경아 가 기본값으로 지정
- ex) 학점 CHAR(2) DEFAULT 'a0' / CHAR(2) DEFAULT 'A0'
A0과 a0은 다른 값으로 취급됨 -> 도메인이 같은값이 아님, 대소문자 구분이 중요
키의 정의
PRIMARY KEY
- 기본키를 지정하는 키워드
- 모든 테이블에서 기본키는 반드시 하나만 지정할 수 있고, 여러 개의 속성으로 구성할 수 있음
ex) PRIMARY KEY(고객아이디) - 고객아이디 속성을 기본키로 지정
ex) PRIMARY KEY(주문고객, 주문제품) - 주문고객과 주문제품 속성으로 기본키를 지정
UNIQUE
- 대체키를 지정하는 키워드
- 대체키로 지정되는 속성의 값은 유일성을 가지며 기본키와 달리 널 값이 허용됨
- 대체키는 한 테이블에서 여러 개 지정할 수 있음
ex) UNIQUE(고객이름) - 고객이름 속성을 대체키로 지정
FOREIGN KEY
- 외래키를 지정하는 키워드
- 외래키가 어떤 테이블의 무슨 속성을 참조하는지 REFERENCES 키워드 다음에 제시 -> 참조 무결성 제약조건 유지
- 참조되는 테이블에서 튜플을 함부로 삭제하거나 변경하지 못함
참조 무결성 제약조건 유지를 위해 참조되는 테이블에서 튜플 삭제 시 처리방법을 지정하는 옵션
< DELETE >
< UPDATE >
데이터 무결성 제약조건의 정의
CHECK
- CHECK 키워드를 사용 -> 특정 속성에 대한 제약조건 지정
- 테이블에 정확하고 유효한 데이터를 유지하기 위해 특정 속성에 대한 제약조건 지정
- CONSTRAINT 키워드와 함께 고유의 이름을 부여할 수도 있음
ex) CHECK(재고량 >= 0 AND 재고량 <= 10000)
모든 제품의 재고량은 항상 0개 이상, 10,000개 이하로 유지되어야 한다는 데이터 무결성 제약조건
ex) CONSTRAINT CHK_CPY CHECK(제조업체 = '한빛제과')
모든 제품의 제조업체로 한빛제과만 허용한다는 데이터 무결성 제약조건에 CHK_CPY라는 고유의 이름을 부여
다른 테이블에는 CHK_CPY라는 이름으로 정의된 제약조건이 있으면 안 됨
테이블 생성: CREATE TABLE 문 작성
테이블 생성: CREATE TABLE 문 작성
새로운 속성 추가, 기존 속성 삭제, 새로운 제약조건 추가, 기존 제약조건 삭제
테이블 생성: DROP TABLE 문 작성
'Database' 카테고리의 다른 글
Database - # 07_03 (1) | 2024.05.28 |
---|---|
Database - # 07_02 (0) | 2024.05.27 |
Database - # 06 (0) | 2024.04.05 |
Database - # 05 (0) | 2024.04.01 |
Database - # 04 (1) | 2024.03.31 |