我正在尝试设计一个存储有关几个动物园的数据的数据库。我只想问问我的设计好不好。我非常了解 SQL 和查询,但我不是设计专家。要求:
您将管理动物园、动物、食物、游客和参观。每个动物园都有一个 id、一个管理员、一个名字和几只动物。动物有身份证、姓名和出生日期;它可以吃各种食物,后者由一个id和一个名字组成。系统存储每个动物和食物的每日配额(整数),例如,动物A1<食物F1,10;食物 F2, 5>; 动物 A2 <食物 F2, 1; 食物 F5, 2>。访问者的特征在于个人号码(ID)、姓名和年龄。一个游客可以参观几个动物园。此类访问由唯一标识符、日期、支付价格、访问者的个人编号和动物园 ID 定义。
这是我完成设计的方式:
CREATE TABLE Zoo(
id INT PRIMARY KEY IDENTITY(1,1),
administrator VARCHAR(30),
name VARCHAR(40),
);
CREATE TABLE Animal(
id INT PRIMARY KEY IDENTITY(1,1),
name VARCHAR(30),
dob DATE,
zoo_id INT REFERENCES Zoo(id)
);
CREATE TABLE Food(
id INT PRIMARY KEY IDENTITY(1,1),
name VARCHAR(25)
);
CREATE TABLE DailyQuota(
id INT PRIMARY KEY IDENTITY(1,1),
animal_id INT REFERENCES Animal(id),
food_id INT REFERENCES Food(id),
quantity INT
);
CREATE TABLE …
Run Code Online (Sandbox Code Playgroud)