您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

数据库的课堂讨论(二)

bubuko 2022/1/25 20:09:07 其他 字数 6625 阅读 831 来源 http://www.bubuko.com/infolist-5-1.html

今天,参加数据库线上讨论的问题(每次都得花我好多时间……) 问下面三者的关系,一开始我很懵,没学过 实体型 和 实体集, 因为看的是 浙大的课,而不是人大的课,书也不一样,书里莫得提及这个概念……(个人觉得,没这两个概念也没事,界限太糊了) 实体(Entity) 客观存在并可相互区别的事物称为实体。 ...

今天,参加数据库线上讨论的问题(每次都得花我好多时间……)

问下面三者的关系,一开始我很懵,没学过 实体型 和 实体集, 因为看的是 浙大的课,而不是人大的课,书也不一样,书里莫得提及这个概念……(个人觉得,没这两个概念也没事,界限太糊了)

实体(Entity)

    客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。

    例如:学生、学生学号、身高、体重、老师、工资、办公室、教学楼、编程语言、c语言、汇编语言、侦探小说等都是实体

 

实体型(Entity Type)

    用实体名及其属性名集合来抽象和刻画同类实体称为实体型

    个人觉得这 名词的概念 没有明确的界限,学生可以是一个实体、也可以是一个实体型

实体集(Entity Set)

     同一类型实体的集合称为实体集

     这个概念更加抽象,界限也很模糊……

举个例子吧

 

例如,全世界职业比例,

CREATE TABLE instructor(
    total_num bigint,
    profession_name varchar(20) not null unique, 
    primary (profession_name),
    check(total_num>= 0)
);
CREATE TABLE profession(
    ID int,
    name nvarchar(20),
    num bigint,
    check(profession_num >= 0)
    foreign key(name) reference instructor(profession_name);
);

 

    创建的表 中没有定义职业 的详细信息,这时候数据库只需要存储 老师、学生的数量 即可,这时候 老师、学生 内部就没有属性了,这时候的老师、学生就是实体、同属于直接这个实体集或实体型(具体是哪个要结合 实体 间的练习来分析了,代码所示 个人觉得是 实体)

 

    如果,这个 表的定义如下

CREATE TABLE instructor(
    total_num bigint,
    profession_name varchar(20) not null unique, 
    primary (profession_name),
    check(total_num>= 0)
);
CREATE TABLE profession(
    ID int,
    name nvarchar(20),
    num bigint,
    check(profession_num >= 0),
    primary (prfe_ID),
    foreign key(name) reference instructor(profession_name)
);
CREATE TABLE teach(
    name nvarchar(20),
    prfe_ID int,
    work_place nvarchar(20),
    -- 省略详细信息
    foreign key(prfe_ID) reference instructor(ID)
);
CREATE TABLE student(
    name nvarchar(20),
    prfe_ID int,
    study_place nvarchar(20),
    -- 省略详细信息
    foreign key(prfe_ID) reference instructor(ID)
);

    如果把 student 看成实体,那么profession是 实体型 ,所有职业的 抽象体,而实体集就是所有职业的汇总 

    ?如果把 student 内部的属性看成实体, 那么 student 就是实体型,而 student 形成的 students 才是实体集

个人觉得离开具体的表来探讨什么是 实体型 什么是 实体集 无疑是 纸上谈兵,就像于最开始的讨论,什么是数据什么数据语义所说的一样,具体情况需要具体分析,毕竟这些都是逻辑概念,没有实际存储,严格的在物理上进行定义

 

数据库的课堂讨论(二)

原文:https://www.cnblogs.com/daker-code/p/12389006.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶