//////
Search
🍒

[1011] DB 실습

생성일
2022/11/10 07:58
태그
TodayILearn
java
생성일 1

실습1

1.
Schema 생성
위의 버튼 클릭 → Name에 schema 이름 작성 → Apply
2.
table 생성
Tables 에서 오른쪽 마우스 클릭 → Create Table
Table Name 입력 → 생성할 Column Name 입력 → Datatype 과 제약조건(PK, NN 등) 선택 → Apply
제약조건 PK : Primary key, 중복이나 빈값(NULL)이 들어올 수 없음 NN : Not Null(빈값) 못들어옴 UQ : Unique, 중복 값을 넣을 수 없음 B : 데이터를 이진 문자열로 저장함(010101 같은) UN : Unsigned data type (- 범위 삭제) ZF : Zero Filled 컬럼 크기보다 작은 값을 넣었을 경우 0으로 채운 뒤 삽입시킴 AI : Insert 시마다 값 1씩 늘어남 G : 다른 열을 기반으로 한 수식으로 생성된 값 Default/Expression : 기본값, 기본값에 수식 설정
3.
Foreign Keys 설정
참조 할 Table의 column Name → Foreign Key Name 에 작성 후 Referenced Table 선택 → column 과 Referened Column 선택 → Foreign Key Comment 에 간단한 설명 작성 → Apply
Foreign Key (외래키) - 두 테이블을 서로 연결하는 데 사용. - 외래키가 포함된 테이블 : 자식 테이블. / 외래키 값을 제공하는 테이블 : 부모 테이블. 주의 사항 - 값이 NULL 이거나 부모 테이블의 기본키 값과 동일 해야한다. (참조 무결성 제약조건) - 부모 테이블의 기본키, 고유키를 외래키로 지정할 수 있다.

실습 2

정상희
테이블에 작가(Author)가 추가된다면?
Author 테이블 생성
book 테이블에 외래키 저자 id를 추가
Book Table
Publisher Table
Author Table
ERD 다이어그램

실습3

아래 ERD로 MySql에 Table만들기

ERD 분석

테이블은 book, publisher, author로 총 세개
author와 book은 1:N 관계
publisher와 book 또한 1:N 관계

SQL 코드

# 스키마 생성 CREATE SCHEMA `likelion-db` DEFAULT CHARACTER SET utf8mb4 ; # 테이블 생성 CREATE TABLE `likelion-db`.`book` ( bookid INT NOT NULL, book_name VARCHAR(45) NOT NULL, publisher_id INT NOT NULL, author_id INT NOT NULL, PRIMARY KEY (bookid) ); CREATE TABLE `likelion-db`.`publisher` ( publisher_id INT NOT NULL, publisher_name VARCHAR(45) NOT NULL, publisher_address VARCHAR(90) NOT NULL, PRIMARY KEY (publisher_id) ); CREATE TABLE `likelion-db`.`author` ( id INT NOT NULL, name VARCHAR(20) NOT NULL, PRIMARY KEY (id) ); # 외래키 설정 (cascade 옵션 중 update 설정) alter table `likelion-db`.book add foreign key(author_id) references author(id) on update cascade; alter table `likelion-db`.book add foreign key(publisher_id) references publisher(publisher_id) on update cascade;
SQL
복사

실습4

송진우
publisher 테이블을 생성하고 5개 출판사를 Insert해보세요
publisher Table
Column
DataType
publisher_id
INT
publisher_name
VARCHAR(45)
publisher_address
VARCHAR(90)
1.
SQL 구문
CREATE TABLE publisher ( #테이블 생성 publisher_id INT NOT NULL AUTO_INCREMENT, publisher_name VARCHAR(45) NOT NULL, publisher_address VARCHAR(90) NOT NULL, PRIMARY KEY(publisher_id) ); INSERT INTO `likelion-db`.`publisher` (`publisher_id`, `publisher_name`, `publisher_address`) VALUES (0, '이지스퍼블리싱', '서울시 강남구') #(0, '이지스퍼블리싱', '서울시 강남구'); #(1, '길벗', '서울시 서초구'); #(2, '에이콘', '서울시 은평구'); #(3, '비제이퍼블릭', '경기도 수원시'); #(4, '정보문화사', '서울시 성북구');
SQL
복사
2.
MYSQL WorkBench 활용
테이블 생성
다음과 같이 설정 후, Apply
해당 표에서 값 수정 후, Apply 클릭