基于ERD创建ERD和SQL表
我的任务是根据给定的故事创建一个ERD,然后根据给定的信息制作表格并构建一个db 故事是: 有一家房地产公司:基于ERD创建ERD和SQL表,sql,database-design,erd,Sql,Database Design,Erd,我的任务是根据给定的故事创建一个ERD,然后根据给定的信息制作表格并构建一个db 故事是: 有一家房地产公司: 待售房屋位于特定的街区 每个社区都是一个城市的一部分(我们知道,在一个城市中有许多社区) 每栋房子都来自一种房屋类型,例如:别墅、公寓、阁楼等 每栋房子都有一位业主,他是公司的客户 (房屋)出售给新业主(公司的客户),在出售中,客户只能购买一栋房屋 销售人员(公司员工)进行销售 每个销售员专门从事不同的房屋类型,有时有几个销售员专门从事相同的房屋类型 我想出的ERD如下所示: 我
- 待售房屋位于特定的街区
- 每个社区都是一个城市的一部分(我们知道,在一个城市中有许多社区)
- 每栋房子都来自一种房屋类型,例如:别墅、公寓、阁楼等
- 每栋房子都有一位业主,他是公司的客户
- (房屋)出售给新业主(公司的客户),在出售中,客户只能购买一栋房屋
- 销售人员(公司员工)进行销售
- 每个销售员专门从事不同的房屋类型,有时有几个销售员专门从事相同的房屋类型
在创建数据库之前,我非常感谢您对设置正确表的帮助。我仔细检查了您的设计,确实需要进行一些改进,以正确地适应您的用例 正确实施了以下假设(但字段名称可以细化):
- 待售房屋位于特定的邻里
=>1-N关系,即
和邻里。邻里ID
房屋。邻里ID
- 每个街区都是一个城市的一部分(正如我们所知,在一个城市中有许多街区)
=>1-N在
和city.CityID
House.CityID
- 每栋房子都来自一种房屋类型,例如:别墅、公寓、阁楼等。
=>1-N
和HouseType.HouseTypeID
house.HouseTypeID
- 每套房子都有一位业主,他是公司的客户这是一种1-N关系。您需要在
中创建一个名为House
的新字段,该字段引用CustomerID
。此外,您还需要创建一个新表,Customer.CustomerID
,用于存储公司信息(不要将其存储在Company
表中!)。必须在表Customer
中创建一个名为Customer
的字段,该字段引用CompanyID
表的主键。在Company
表中不应该有Customer
列HouseID
- (房屋)出售给新所有者(公司的客户),在出售中,客户只能购买一栋房屋
=>出售表将包含每次出售的一条记录。它引用了
和CustomerID
(详见)。在SalesManID
表中不应该有Customer
列SalesID
- 销售是由销售人员(公司员工)进行的
=>销售人员表应该有一个引用
表的公司
字段公司ID
- 每个销售人员专门从事不同的房屋类型,有时有几个销售人员专门从事相同的房屋类型=>表中的
应该有一个saller
字段,该字段引用HouseTypeID
表。应删除表HouseType
SalesManToHouseType
房屋示例:
ID -- not HouseID !
HouseTypeID -- foreign key to field ID in table HouseType
NeighborhoodID -- foreign key to field ID in table Neighborhood
CustomerID -- foreign key to field ID in table Customer
Address
NumRooms
...
ID -- not HouseTypeID !
Name -- not HouseTypeName !
Description
表房屋类型的示例
:
ID -- not HouseID !
HouseTypeID -- foreign key to field ID in table HouseType
NeighborhoodID -- foreign key to field ID in table Neighborhood
CustomerID -- foreign key to field ID in table Customer
Address
NumRooms
...
ID -- not HouseTypeID !
Name -- not HouseTypeName !
Description
这个问题清楚地说明了两个不同模型及其图表之间的差异。上图是ERD。下图是一个关系示意图。做得好。你的图表和我的有一个区别。当我学习ER建模时,您将属性放在ERD中。这使得分析更加完整,设计负担更少。请。仅将图像用于不能表示为文本或扩充文本的内容。包括一个图例/图例和带有图像的说明。Re“这对吗”:按照参考资料/教科书显示您的工作步骤,有理由——并不是所有的术语/符号都是标准的&我们不知道你遵循的是什么算法/方法&我们想检查你的工作,但不想重做它&当算法允许时,我们需要你的选择&否则我们无法告诉你哪里是对的或错的&我们不想重写你的教科书。请看,点击谷歌的“stackexchange家庭作业”和鼠标文本上方的投票箭头。