2012-10-13 2 views
-2

전 세계에 지사가있는 슈퍼마켓이나 백화점에 관한 데이터베이스를 설계하고 있습니다.DB에서 엔티티 관계 제공?

나는 국가와 지부의 목록을 가지고있다. 어느 누구도 데이터베이스에 링크 할 수 있습니까?

+0

데이터베이스 및 데이터 모델 패턴에 대한 책을 읽습니다. amazon.com에 가십시오 –

답변

1

확인이 link을. 나는 이것이 당신이 요구하는 것이라고 생각한다

2

이와 비슷한?

enter image description here

은 물론, 당신의 테이블은 추가 데이터를 저장하기 위해 더 많은 열을 포함 할 것이다 - 그러나 이것은 기본 골격이 될 것입니다.

또는 정확히 무엇을 묻고 있습니까? 당신은

T-SQL 코드

는 (전혀 문제가 없습니다 MySQL의이 적응)이 생성 .... 귀하의 질문에 명확없는 것 :

CREATE TABLE dbo.Country 
(
    CountryID int NOT NULL, 
    CountryName varchar(50) NOT NULL 
) 

ALTER TABLE dbo.Country 
ADD CONSTRAINT PK_Country PRIMARY KEY CLUSTERED (CountryID) 
GO 

CREATE TABLE dbo.State 
(
    StateID int NOT NULL, 
    StateName varchar(50) NOT NULL, 
    CountryID int NOT NULL 
) 

ALTER TABLE dbo.State 
ADD CONSTRAINT PK_State PRIMARY KEY CLUSTERED (StateID) 

ALTER TABLE dbo.State 
ADD CONSTRAINT FK_State_Country 
FOREIGN KEY(CountryID) REFERENCES dbo.Country(CountryID) 
GO 

CREATE TABLE dbo.City 
(
    CityID int NOT NULL, 
    CityName varchar(50) NOT NULL, 
    StateID int NOT NULL 
) 

ALTER TABLE dbo.City 
ADD CONSTRAINT PK_City PRIMARY KEY CLUSTERED(CityID) 

ALTER TABLE dbo.City 
ADD CONSTRAINT FK_City_State 
FOREIGN KEY(StateID) REFERENCES dbo.State(StateID) 
GO 
+0

@marc_c는 훌륭한 대답을주었습니다 만, 적용하기 전에 비정규 화 된 스키마가 유익한 경우가 있기 때문에 정규화 된 데이터가 필요하다는 것을 확신합니다. – Kane

+0

@ 케인 : 항상 ** 정규화 된 ** 데이터 모델로 시작하십시오. - 할 일이 적절합니다! 정규화 된 모델이 아프면 (예 : 성능 또는 무언가) 비정규 화합니다. –

1

내가 올바르게 이해한다면 나라, 도시 및 주에있는 ID를 참조하는 슈퍼마켓을위한 ID와 테이블이있는 3 개의 테이블 (국가, 도시 및 주)이 필요하다.

create table country(id int, name varchar); 
create table city(id int, name varchar); 
create table state(id int, name varchar); 
create table supermarket(country int, city int, state int);