>데이터베이스 생성
: CREATE DATABASE 데이터베이스명;
>데이터베이스 사용
: USE 데이터베이스명;
**본 수업에서 {} 의미 : 생략이 가능하다는 의미
>DDL (Data Definition Languagae )
-데이터 정의어
-테이블에 관련된 쿼리문
1.CREAT : 테이블 생성
2.ALTER : 테이블 수정
3.DROP : 테이블 삭제
>자료형
자바 할때처럼 데이터를 넣을때는 자료형을 써주어야 한다.
1. 숫자형
1) INT : 정수
2) DECIMAL(n,m) : n(전체자리수)/ m(소수점자리수)
ex) DECIMAL(4,2)--> -99.99 ~99.99
(double,float 대신)
2.문자형
1) CHAR(n) :n바이트의 문자열(고정형),빈 자리는 그대로 남겨둔다.
ex) CHAR(4) --> [ ] -->'A를 넣으면'-->[A ]
2)VARCHAR(n) :n바이트의 문자열(가변형), 빈 자리는 할당 해제
ex) VARCHAR(4) --> [ ] -->'A'를 넣으면?-->[A] //가장 많이씀
(적게잡고 많이넣으면 안들어감)
3.시간 (날짜)
예전 필름카메라 밑에 찍히는 날짜처럼.. 딱 그 날짜! 그 시간!
1) DATE : 한 순간의 날짜를 표현하는 타입
2) DATETIME : 한 순간의 날짜와 시간을 표현하는 타입
----------------------------------------------------------------------------------------
>테이블
>>테이블 생성
CREATE TABLE 테이블명(
컬럼명1 자료형,
컬럼명2 자료형,
...
);
>>테이블 삭제
DROP TABLE 테이블명;
>>테이블 수정
ALTER TABLE 테이블명
+
컬럼 추가 ADD 컬럼명 자료형
컬럼수정 MODIFY 컬럼명 자료형
컬럼삭제 DROP 컬럼명
>>제약조건
-데이터 삽입시 특정한 조건에 맞는 데이터만 삽입될 수 있도록 걸어놓는 조건
1)CHECK (칼럼 IN(값1, 값2.....))
2) 컬럼명 자료형 UNIQUE
-중복되는 값이 들어오면 오류 발생 (ex: 주민번호, 핸드폰번호)
(PK는 활용하기 위해 쓰는 제약조건이라 둘이 다르다)
3) 컬럼명 자료형 NOT NULL
-값을 적지않으면 오류 발생(ex:비밀번호)
:PK ,FK 는 따로 검사해줘서 상관없는데 가끔 꼭 필요한 경우인데 PK,FK아닌 경우있다.
예를들어 비밀번호 같은것이다. 그래서 이럴땐 꼭 적어줘라라는 의미로 not null을 써준다
>>PRIMARY KEY
-기존 테이블 ----> ALTER / ADD CONSTRAINT
-새로운 테이블 ---> CREATE 안에 CONSTRAINT PRIMARY KEY(컬럼명)
>>FOREIGN KEY
-다른 테이블과 관계성을 맺기 위해 가져오는 PK값
-다른 테이블에 존재하는 값만 들어올 수 있도록 걸어주는 제약조건
>>관계성을 맺은 테이블
-FOREIGN KEY 를 부여한 테이블은 자식 테이블
-참고되고 있는 테이블은 부모 테이블
case1.값 추가, 테이블 생성: 부모테이블 먼저
case2.값 삭제, 테이블 삭제: 자식테이블 먼저
>>무결성
-데이터의 정확성, 일관성, 유효성이 유지 되는것
1)정확성
데이터는 애매하지 않아야 한다.
(ex:월드컵기간..시간은 애매하지만 행사 기간알려줄때 정확하다고 볼 수도 있다. 관점에 따라서 달라질 수 있다. )
2)일관성
각 사용자가 일관된 데이터를 볼 수 있도록 해야한다.
3)유효성
데이터가 실제 존재하는 데이터여야 한다.
<종류>
1. 개체 무결성
-각 개체가 구별되도록 해야한다.
(서로 다른 두 개체는 같지 않아야 하는것)
--> 그래서 테이블이 PK로 설정된 컬럼을 가지도록 설계한다.
2. 참조 무결성
-참조되는 기본키(PRIMARY KEY)는 실제 존재하는 키여야 하는것.
3. 도메인 무결성
-컬럼의 타입, NULL값 허용 등에 대한 사항을 정의하고 올바른 데이터가 들어왔는지 확인 하는것
ex)제약조건 쓴다.
--------------------------------------------------------------------------------------------------------------------------------
>모델링
-추상적인 주제를 DB에 맞게 설계하는 것
-5가지 단계로 진행
요구분석 > 개념적 설계 > 논리적 설계 > 물리적 설계 > 구현
ex)영화관
1. 요구분석
영화관
로그인
예매 [영화관정보,영화정보,일시,좌석]
영화조회 [영화제목,영화장르,감독,배우정보,제작사,러닝타임]
영화관조회 [이름, 주소, 전화번호, 사이트]
2. 개념적 설계(개념 모델링)
영화 | 예매 | 영화관 |
영화코드 | 예매번호 | 영화관 코드 |
영화제목 | 예매자 | 이름 |
영화장르 | 영화코드 | 주소 |
감독 | 영화관코드 | 전화번호 |
배우정보 | 일시 | 사이트 |
제작사 | 좌석 | |
러닝타임 |
3. 논리적 설계(논리 모델링)
영화 | 예매 | 영화관 |
영화코드(PK) | 예매번호(PK) | 영화관코드(PK) |
영화제목(NN) | 예매자 | 이름 |
영화장르 | 영화코드(FK) | 주소 |
감독정보(FK) | 영화관코드(FK) | 전화번호 |
배우정보 | 일시 | 사이트 |
제작사(FK) | 좌석 | |
러닝타임 |
4. 물리적 설계(물리 모델링)
영화코드 :VARCHAR(300)....
영화제목 :VARCHAR(300).....
5. 구현
'프로그래밍 > DBMS' 카테고리의 다른 글
DBMS 5일차 -JDBC (0) | 2021.12.15 |
---|---|
DBMS 4일차 - DBMS 문법 (0) | 2021.12.10 |
DBMS 3일차 - 정규화,DML (0) | 2021.12.09 |
DBMS 1일차 -DBMS (0) | 2021.12.08 |