SQL 题目
2018.8.1
数据库设计包括留个主要步骤:
① 需求分析
需求收集和分析,得到用数据字典描述的数据需求,用数据流图描述的处理需求。
② 概念结构设计
对需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型(用E-R图表示)。
③ 逻辑结构设计
将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。
④ 物理结构设计
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
⑤ 数据库实施
运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
⑥ 数据库运行和维护
数据库应用系统数据库经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
数据库中有可能存在不一样的数据,造成数据不一致的原因主要有:
- 数据冗余
如果数据库中存在冗余数据,比如两张表中都存储了用户的地址,在用户的地址发生改变时,如果只更新了一张表中的数据,那么这两张表中就有了不一致的数据。
- 并发控制不当
比如某个订票系统中,两个用户在同一时间订同一张票,如果并发控制不当,可能会导致一张票被两个用户预订的情况。当然这也与元数据的设计有关。
- 故障和错误
如果软硬件发生故障造成数据丢失等情况,也可能引起数据不一致的情况。因此我们需要提供数据库维护和数据恢复的一些措施。
数据库的三级模式结构:模式、内模式、外模式
- 模式:模式也成为逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,模式位于三级结构的中间层
- 外模式:外模式也称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据试图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式
- 内模式:内模式也叫存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
2018.8.3
- SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用
- 层次型、网状型和关系型数据库划分原则是:数据之间的联系
- 视图设计包括以下四种:
- 自顶向下:先全局框架,然后逐步细化
- 自底向上:先局部概念结构,再集成为全局结构
- 有里向外:先核心结构,再向外扩张
- 混合策略:1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构
- tablespace(表空间)和 datafile 的关系
- 一个tablespace可以有一个或多个datafile
- 每个datafile只能在一个tablespace内,tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。
- table 中的数据,通过hash算法分布在tables 中的各个datafile 中
2018.8.6
- 数据库系统与文件系统的主要区别是:文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决
- 触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
不会触发触发器的包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。 - 关系型数据库规范化是为解决关系数据库中 插入、删除和数据冗余 问题而引入的
- 为保证多用户环境中数据的完整性和一致性,DBMS采取的控制称为 并发控制
2018.8.8
- 当将局部的E-R图集成为全局E-R图时,可能存在3类冲突
- 属性冲突:包括类型、取值范围、取值单位的冲突;
- 结构冲突:例如同一对象在一个局部E-R图中作为实体,而在另一个局部E-R图中作为属性,同一实体在不同的E-R图中的属性个数和类型不同等;
- 命名冲突:体类型名、联系类型名之间异名同义,或同名异义等
2018.8.10
- 关系模型:数据表中的每一行代表的就是一个元组,每一列代表的就是一个属性,每一行数据的顺序是无关紧要的,而每一列的数据顺序则是必要的,假如顺序可以随意修改,那么将会出现数据混乱的情况。
- 两个关系的差运算,比如关系 R 和 S ,那么对 R 和 S 进行差运算则是找出 R 中存在的而 S 中不存在的元组
2018.8.22
- 数据库系统包括数据库,数据库管理系统,应用系统,数据库管理员 所以数据库系统是个大的概念 数据库是专门从数据的集合 数据库管理系统是由管理员操作管理数据库的查询、更新、删除等操作的 数据库应用系统用来操作数据库的。 数据库是长期存储在计算机内的有组织、可共享的大量的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。联系:数据库系统(DBS)中的“系统”是指能够提供一系列数据库相关服务组件的有机结合体。它应该包括:数据库(DB)、数据库管理系统(DBMS)(以及开发工具)、应用系统、数据库管理员(DBA)和用户构成。所以联系就是DBS包括DBMS和DB