~오늘의 수강 과목~
1. Node.js 숙련 1주차 (이용우 튜터님)
_ SQL 제약 조건
1 : N
-- 1 : n
-- 1개의 출판사는 n개의 책이름을 가질 수 있다
CREATE TABLE Publisher (
publisherId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
publisherName varchar(255) NOT NULL,
publisherAddress varchar(255) NOT NULL
);
CREATE TABLE Books (
bookId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
publisherId int(11) NOT NULL,
bookName varchar(255) NOT NULL,
FOREIGN KEY (publisherId) REFERENCES Publisher (publisherId) -- 왼쪽이 현재테이블, 오른쪽이 퍼블리셔 테이블
);
1 : 1
-- 1 : 1
-- 1개의 별은 1개의 세부정보를 가질 수 있다
CREATE TABLE Star (
starId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
)
CREATE TABLE StarInfo (
starInfoId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
starId int(11) NOT NULL UNIQUE, -- UNIQUE 속성 추가
name varchar(255) NOT NULL,
magnitude varchar(255) NOT NULL,
distance varchar(255) NOT NULL,
FOREIGN KEY (starId) REFERENCES Star (starId)
)
N : M
-- n : m
-- 한명의 아이돌은 소속사를 가지지 않거나 여러개의 소속사를 가질 수 있음 / 소속사는 아이돌을 가지지 않거나 여러명을 소속시킬 수 있음
CREATE TABLE Idol (
idolId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(255) NOT NULL UNIQUE,
age int(11) NULL,
gender enum('F', 'M') NOT NULL
);
CREATE TABLE Production (
productionId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
productionName varchar(255) NOT NULL UNIQUE,
address varchar(255) NOT NULL UNIQUE
);
CREATE TABLE ProductionMember (
productionMemberId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
idolId int(11) NOT NULL,
productionId int(11) NOT NULL,
debutDate date NOT NULL,
FOREIGN KEY (idolId) REFERENCES Idol (idolId),
FOREIGN KEY (productionId) REFERENCES Production (productionId)
);
'🪩 > 기타' 카테고리의 다른 글
[AWS] ec2 ssh 터미널 진입 방법 (0) | 2024.02.13 |
---|---|
[mysql] mac m1Homebrew, mysql 설치 방법 (1) | 2024.02.07 |
관계형, 비관계형 데이터베이스 (1) | 2024.01.28 |
동기(Sync), 비동기(Async) (1) | 2024.01.23 |
자료구조 스택, 큐 (1) | 2024.01.08 |