- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正致力于从 ER 图创建数据库,但我认为我的某些主键和外键不正确。我认为它们不正确的表是部分中的主键和注册表中的 FK 和 PK。我也不认为我正确地执行了我的 FK 约束,因此我无法检测到引用完整性违规。
这是我的数据库所基于的 ER 图。
这是我制作的表格
CREATE TABLE Student
(
StudentId INTEGER,
FName VARCHAR(20),
LName VARCHAR(20),
DOB CHAR(10),
Major VARCHAR(20),
PRIMARY KEY(StudentId)
);
CREATE TABLE Phone
(
sID INTEGER,
Pnumber CHAR(20),
Type CHAR(3),
PRIMARY KEY(Pnumber)
);
CREATE TABLE Class
(
ClassId VARCHAR(6),
Description VARCHAR(30),
NumCredits Integer,
Prereq VARCHAR(20),
PRIMARY KEY(ClassId)
);
CREATE TABLE Section
(
ClassId VARCHAR(6),
SecNo CHAR(10),
Semester CHAR(4),
ClassRoom VARCHAR(6),
TimeOffered VARCHAR(18),
PRIMARY KEY(SecNo),
FOREIGN KEY(ClassId) REFERENCES Class(ClassId)
);
CREATE TABLE Enrolled
(
StudentId INTEGER,
SecNum VARCHAR(40),
ClassId VARCHAR(8),
Semes VARCHAR(6),
GorDD VARCHAR(30)
FOREIGN KEY(ClassId) REFERENCES Section(ClassId),
FOREIGN KEY(StudentId) REFERENCES Student(StudentId)
);
CREATE TABLE Professor
(
EmpId INTEGER,
FName VARCHAR(10),
LName VARCHAR(10),
Dept VARCHAR(2),
QualClass VARCHAR(40),
PRIMARY KEY (EmpId)
);
CREATE TABLE Teaches
(
Class VARCHAR(5),
Section INTEGER,
Semester CHAR(4),
EmpId INTEGER,
FOREIGN KEY (EmpId) REFERENCES Professor(EmpId)
);
CREATE TABLE Qualified
(
EmpId INTEGER,
ClassId VARCHAR(5)
);
感谢您帮助理解如何从 ER 图创建数据库。
最佳答案
您确实应该为每个表设置一个简单、标准化的AUTO_INCREMENT PRIMARY KEY
。这使得引用特定记录变得容易得多。在建立关系时,最好只通过主键引用表。字符串主键可能会很麻烦,尤其是当这些字符串可以更改时。
此外,您对字符串长度的任意限制非常令人讨厌。你凭什么说人们的名字只能有二十个字符,或者教授的名字只能有十个字符?真是草率。除非您有充分的理由,否则请对这些类型的自由格式字段保持开放,默认为 VARCHAR(255)
。今天的硬盘驱动器以 TB 为单位进行测量,您需要有 1 亿学生才能用姓名数据填充您的驱动器。
否则,作为数据库,这没问题。我可能会完全放弃这个模式并从你的实体图重建,顺便说一句,使用我使用的任何开发框架的约定,这是一个很好的工具。例如,Ruby on Rails、Django、Drupal 和 Tapestry 对如何命名表都有自己的想法。
关于MySQL 从 ER 图创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24960412/
在我的公司,我们使用 SVN,但希望将来无缝切换到 GIT。这就是我开始学习 git-svn 的原因,它有望作为 svn 存储库的前端。 我尝试通过以下设置使用它: SVNREPO - 主 svn 存
在我正在编辑的手册页中,我看到以下内容: .Er ENOENT ENOENT 这到底是什么意思?我查看了 man(1) 手册页,但没有看到任何有关如何读取原始文件的内容。 最佳答案 有关 .Er 的详
我需要为考试练习 ER 建模,请记住,不会有任何第三方工具,它必须在纸上手动完成:(有什么建议可以避免错误吗? 最佳答案 我确信您已经在网络上进行了一些搜索。只是一些提示: 不要忘记注释您的基数(一比
根据这些说明,我正在尝试创建一个 ER 模型。和 这些说明: Total Escapes has a wide variety of tours on offer to its customers.
我使用陈表示法和理由制作了一个 ER 图。有人可以检查我的做法是否正确吗? 除此之外我还有一些其他问题: 为什么弱实体总是只有一和一? (粗箭头形式分配给has) 如何在 ER 图中处理 20 倍到
我做了一个项目,本质上是一个在线书店,人们可以在那里购买书籍并下订单。 我的数据库包含各种表,例如: 用户 user_shipping_address user_ payment_mode user_
我想创建这个,但我不知道它到底是怎样的。我的猜测是,它可能像 Employee 表中的外键一样工作,但同样,我不明白如何创建这样的东西。如果这个问题已经得到解答,我很抱歉,但我不知道如何搜索。 最佳答
假设您有一个带有 read 方法的 FileReader 类。 我知道类级别的属性可以证明拥有一个实例是合理的。但是,是什么阻止了通过将这些相同的属性拉入相应的 static read 方法的范围内来
所以我正在设计一个涉及电影、剧院、销售产品/纪念品的摊位的关系数据库。这是让我感到困惑的问题的一部分: “... 电影院由标识符、名称、地址(街道、市、省),以及影院的银幕总数。 ... 特许摊位是在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我正在做一个项目,我在图像中有一个特征,描述为一组 X 和 Y 坐标(每个特征 5-10 个点),这是该特征独有的。我还有一个包含数千个特征的数据库,每个特征都有相同类型的描述符。结果如下所示: my
我有以下问题: 仅使用二元关系,构建实体关系图用于以下描述。包括实体标签、主键字段、关系标签和关系的多重性。 “一家公司经营着几个汽车维修和服务车库,每个车库都有自己的唯一编号 (gargNo)。当车
最重要的是,我正在寻找一种快速(er)方法来多次设置/索引矩阵: for (i in 1:99000) { subset.data summaryRprof("subsetMatrix.out"
对于一个小项目,我正在为一个简单的股票跟踪应用程序创建一个实体关系图。 用户故事 产品由产品供应商销售。产品由办公室订购并交付给他们。可能需要一次或多次交货才能完成订单。该办事处订购的这些产品依次交付
当我尝试按照此处的说明 ( https://github.com/beyondcode/laravel-er-diagram-generator ) 操作时,出现以下错误。 Symfony\Compo
对不起,如果这太简单了,但我最近发现了很多关于 ER 建模的文档,但所有这些似乎都跳过了实际的实现,我只是想澄清一下。 子类型是否只是带有父类(super class)型的外键以及属于子类型的属性的第
我正致力于从 ER 图创建数据库,但我认为我的某些主键和外键不正确。我认为它们不正确的表是部分中的主键和注册表中的 FK 和 PK。我也不认为我正确地执行了我的 FK 约束,因此我无法检测到引用完整性
对于给定的 request-id 第三方服务会生成以下内容 字符串类型的推荐列表(通常为 5-10 条推荐) 字符串类型的治疗列表(通常为 5-10 次治疗) 字符串类型的服务列表(通常为 5-10
我正在学习如何在 MySQL 中创建数据库,理论部分之一是开发 ER 图。我在制作自己的项目时真的需要它吗?如果我想创建一个,我是在关系正常化之后创建它吗? 最佳答案 1).您并不被要求这样做。但它绝
我正在学校做这个项目,关于超市数据库,我有一个需要表示的限制,但我不知道如何表示。这是限制: “每个产品都有一个命名类别。没有类别的产品,每个产品只属于一个类别。 一个类别可以包含在另一个类别(子类别
我是一名优秀的程序员,十分优秀!