摘要:
虽然基本的E-R特性可以应对大部分数据库建模,但为了使用方便,也提供扩展的E-R特性一、特化Specialization有时一个实体集会保护若干子集,这些子集各自具有不同的属性。比如person可以包含employee和student子集,这些子集在person本身属性的基础上,附加了特殊的属性, 阅读全文
摘要:
通过建立实体到概念模型的映射,Entity-Relationship Model可以表达整个数据库的逻辑结构,很多数据库产品都采用E-R模型来表达数据库设计。一、E-R模型采用了三个基本概念:实体集、关系集和属性a)实体集实体Entity相当于现实中的事物或对象,比如大学中的一个person就是一个 阅读全文
摘要:
除了基本的关系操作,还有一些附加(Additional)的操作,因为如果只用基本运算,有些表达式会比较繁琐,而附加操作是对某些基本表达的简化。a)交集(Set-Intersection Operation)交集运算符为∩,用于找出几个集合共有的数据,比如在2009秋季和2010春季都开课的课程(s 阅读全文
摘要:
关系代数 Relational Algebra中,一元运算符有选择select、投影project、重命名remane,其余的包括并运算union、集合差set diffetence、笛卡尔积cartesian product等为二元运算符。下面学习它们的基本使用。一、一元运算符a)选择选择的操作符 阅读全文
摘要:
一、函数和存储过程a)通过函数和存储过程可以将业务逻辑保存在数据库,在需要的时候调用。比如学生在一个学期可以修的最大课程数、导师的最小授课数等,这些判断具有比较复杂的逻辑,虽然在数据库外也可以实现这样的控制,但用函数或存储过程在数据库的入口来把关,可以与应用程序独立开来,便于维护。但感觉将业务逻辑独 阅读全文
摘要:
一、一致性一致性包括not null、unique、checka)Not nullname varchar(20) not nullb)Unique如果A1, A2...等构成了候选键,可以用unique(A1, A2...)来保证其唯一性,但这些字段仍然可为空,而为空值与任何值都不相等。c)Ch 阅读全文
摘要:
一、连接a)inner join中,on,可以用where替代,但用on来专门指定join条件,其它条件写在where中可读性更好。b)outer join对于连接字段为空的元祖,使用inner join时不会列出,outer join却不一样,left /right join会保留左(右)侧的连接 阅读全文
摘要:
一、DDLa) SQL Data DefinitionSQL的基本数据类型有char(n)、varchar(n)、int、smallint、numeric(p,d)、real,double precision、float(n)等,int smallint real float依赖机器的精度b) ch 阅读全文
摘要:
一、关系数据库相关 a)在将数据呈现给用户时,主要需解决两个关键问题:如何检索、更新数据以及对数据的保护。而用户对字段的使用决定了其是否原子性,比如phone,即使保存单个电话号码,如果根据电话号码区分运营商、地域,则是不满足原子性的。b)键的分类:超键(Super key),由若干字段组合起来 阅读全文
摘要:
一、关系型数据库简介a)DMLSQL语言是非过程的,一次查询中,可以输入多张表,但结果只是一张表。比如select instructor.name from instructor where instructor.dept_name=’history’,查询语句定义了要查找dept_name列为 阅读全文