Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

Teradata SQL基础教程 PDF 下载


分享到:
时间:2020-07-21 10:26来源:http://www.java1234.com 作者:小锋  侵权举报
Teradata SQL基础教程 PDF 下载
失效链接处理
Teradata SQL基础教程  PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:


1111....1111 关系数据库模型
关系数据库理论最早是由Codd博士提出的,一个关系的数学描述其实就是一
个二维表,这些二维表按照业务运行的规律组合起来,就是关系数据库模型。这种
模型可以简洁地表达出企业或机构的业务运作规律,抓住事物本质,因此非常实
用。每个二维表被称为一个实体(Entity),它可以是人、地点或者某种事物等。表
中的每个列被称为属性(Attribute)或者字段(Field),表中的每一行代表了该实体的一
个特定实例,称为记录(Record)。表1-1、1-2和1-3分别给出了一个雇员表、部门表 和工作表的实例。 表1-1 雇员表(Employee Table) 
EMPLOYEE 
NUMBER 
MANAGER 
EMPLOYEE 
NUMBER 
DEPARTMEN
T NUMBER 
JOB 
CODE 
LAST 
NAME 
FIRST 
NAME 
HIRE 
DATE 
BIRTH 
DATE 
SALARY 
AMOUNT 
PK FK FK FK 
1018 1017 501 512101 Ratzlaff Larry 1978-07-15 1954-05-31 54000.00 
1022 1003 401 412102 Machado Albert 1979-03-01 1957-07-14 32300.00 
1014 1011 402 422101 Crane Robert 1978-01-15 1960-07-04 24500.00 
1003 801 401 411100 Trader James 1976-07-31 1947-06-19 37850.00 
1007 1005 403 432101 Villegas Arnando 1977-01-02 1937-01-31 49700.00 
1010 1003 401 412101 Rogers Frank 1977-03-01 1935-04-23 46000.00 
表1-2 部门表(Department Table) 
department_number department_name budget_amount manager_employee_number
PK FK 
402 software support 308000.00 1011 
401 customer support 982300.00 1003 
201 technical operations 293800.00 1025 
100 president 400000.00 801 
501 marketing sales 308000.00 1017 
403 education 932000.00 1005 
表1-3 工作表(Job Table) 
job_code description hourly_billing_rate hourly_cost_rate 
PK 
421100 Manager - Software Support 0.00 0.00 
512101 Sales Rep 0.00 0.00 
511100 Manager - Marketing Sales 0.00 0.00 
312101 Software Engineer 0.00 0.00 
411100 Manager - Customer Support 0.00 0.00 
431100 Manager - Education 0.00 0.00 
413201 Dispatcher 0.00 0.00 
432101 Instructor 0.00 0.00 
422101 Software Analyst 0.00 0.00 
321100 Manager - Product Planning 0.00 0.00 
在一个关系数据库模型中,表和表之间是有关联的,这种关联常用所谓的E-R
图(Entity-Relationship Diagram)来表示。上面三个表的E-R图可以表示为:
. 2 . 
. 3 . 
图1-1 实体关系图(E-R图) 
实体与实体之间的关系有以下三种:
! 一对多
指一个实体中有且只有一条记录与另一个实体中的多条记录对应。如图1-1
中,一个工作岗位可以有多个雇员,一个部门也可以有多个雇员。我们一般把“一”
方称作父表,而把“多”方称作子表。图中的符号是一种比较常见的表示一对多关系
的方法,另外一种也经常使用的表示方法如图1-2所示: 图1-2 实体关系图的另一种表示方法(E-R图) 
! 一对一
指一个实体中的记录与另一个实体的记录处于一对一的关系。
. 4 . 
! 多对多
指一个实体中的记录与另一个实体的记录是多对多的关系。比如雇员与地址
之间的关系就可能是一种多对多关系,因为一个雇员可能有多个地址,而一个地址
也可能对应多个雇员。对于这种关系,在进行数据库逻辑模型设计时,一般要进行
分解处理,即分解成两个一对多的关系。 1111.2.2.2.2 键的定义
在一个实体中,存在一些能唯一标识该实体中各个记录的属性(或属性组合), 这些属性被称作键(Key)。真正被挑选出来唯一区分各记录的属性称为主键(Primary 
Key,缩写为PK),其它未被选中的键称为候选键(Alternate Key,缩写为AK)。例 如在雇员表中,一般可以把雇员编号选作主键。
一个实体中的哪些属性可以是主键,这与具体的系统和业务规则有关。举例
来说,如果一个公司内没有重名的雇员,则将其姓名当作主键也未尝不可。一般来
讲,主键属性必须满足以下三个条件: ! 必须能唯一区分各数据记录,即不能有重复值
! 不可以是空值 ! 其值很少发生变化
前面两个条件很容易理解,对第三个条件可以举个例子来说明。如在雇员表 中,使用雇员编号作为主键。假设某个雇员进公司时编号为1000,几年后他升为主
管,将其编号改为2000。这样就可能产生这样的问题:当我们寻找编号1000的雇员
信息时,只能发现他以前的记录,而找不到他的当前情况;同样,寻找编号2000的
雇员时,只有现在的信息而没有以前的记录。因此,最好的办法是不要改动雇员编
号,或者选用其他候选键作为主键。


 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐