데이터베이스 다이어그램에서 BCNF를 확인하는 방법이 약간 혼란 스럽습니다. 데이터베이스 정규화 (1NF, 2NF ...)에 대한 YouTube 동영상을 보았지만 이러한 규칙을 내 프로젝트에 적용 할 때, 무엇을 해야할지 알지 못한다. 영화 데이터베이스 설계에 대한영화 데이터베이스에서 BCNF를 확인 하시겠습니까?
CREATE TABLE People (
birth_date DATE NOT NULL,
last_name CHAR(30) NOT NULL,
name CHAR(30) NOT NULL,
person_id INTEGER NOT NULL,
PRIMARY KEY (person_id));
CREATE TABLE Roles (
role_id INTEGER NOT NULL,
role_name CHAR(30) NOT NULL,
PRIMARY KEY (role_id));
CREATE TABLE genre (
genre_id INTEGER NOT NULL,
genre_name INTEGER NOT NULL,
PRIMARY KEY (genre_id));
CREATE TABLE Movies (
movie_id INTEGER NOT NULL,
title CHAR(30) NOT NULL,
rating REAL NOT NULL,
release_date DATE NOT NULL,
PRIMARY KEY (movie_id));
CREATE TABLE film_people (
role_id INTEGER NOT NULL,
person_id INTEGER NOT NULL,
movie_id INTEGER NOT NULL,
FK1_movie_id INTEGER NOT NULL,
FK2_person_id INTEGER NOT NULL,
FK3_role_id INTEGER NOT NULL,
PRIMARY KEY (FK1_movie_id, FK2_person_id, FK3_role_id),
UNIQUE (role_id),
UNIQUE (person_id),
UNIQUE (movie_id));
CREATE TABLE film_genre (
movie_id INTEGER NOT NULL,
genre_id INTEGER NOT NULL,
FK1_movie_id INTEGER NOT NULL,
FK2_genre_id INTEGER NOT NULL,
PRIMARY KEY (FK1_movie_id, FK2_genre_id),
UNIQUE (movie_id),
UNIQUE (genre_id));
ALTER TABLE film_people ADD FOREIGN KEY (FK1_movie_id) REFERENCES Movies (movie_id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE film_people ADD FOREIGN KEY (FK2_person_id) REFERENCES People (person_id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE film_people ADD FOREIGN KEY (FK3_role_id) REFERENCES Roles (role_id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE film_genre ADD FOREIGN KEY (FK1_movie_id) REFERENCES Movies (movie_id) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE film_genre ADD FOREIGN KEY (FK2_genre_id) REFERENCES genre (genre_id) ON DELETE CASCADE ON UPDATE CASCADE;
홈페이지 소스 :
My ER diagram for a movie database
ER 다이어그램 SQL 코드 postgre하는 How to design a movie database?
그래서를 제공 ER 다이어그램에서, 내 목적은 기능 종속성을 찾을 수 있습니다 BCNF 표준화를 적용합니다.
도움을 주시면 감사하겠습니다.
제발 : 귀하의 문제를 이미지가 아닌 텍스트로 보내주십시오. 정규화를 다루는 많은 대학/대학교 ex스 북/슬라이드가 온라인에 있습니다. BCNF에 관계를 두는 알고리즘이 있습니다. 그것은 입력에 기능 의존성 및 후보 키가 필요합니다 그들을 찾아주고. 당신이 할 수있는 결과와 칭의를 제공하십시오. [ask]를 읽으십시오. 재 숙제 포함. – philipxy
@philipxy, 의견을 주셔서 감사합니다. 내 질문을 조금 편집했습니다 :) – Klainti