SQL高级 第一章 数据库的设计

来源:互联网 发布:电力监控组态软件 编辑:程序博客网 时间:2024/05/16 14:16
01.简述数据库完整性及其作用?解析:数据的准确性,保证数据中数据的准确性。  02.基本操作语句(DML DDL DCL)有哪些?语法是?DML(data manipulation language):自动提交的数据库操作语言       它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样DDL(data definition language):自动提交的数据库定义语言       主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用DCL(Data Control Language):       是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCLDQL:数据库查询语言,关键字:selectInsert、update、delete、select这里以student表为例:Insert into student(name,age) values(‘张三’,18)Update student set name=’ 李四’ where id=1Delete from student where id=2见到update和delete,必须有whereSelect * from student where id=1  03.常用的聚合函数有哪些?Avg():求平均值Sum():求和Max();求最大值Min():求最小值Count():求总的记录数,count(1)和count(*)等价,一般认为count(1)效率高。  04.表联接分为哪几种类型?内连接,外连接和交叉联接(数据库原理)一、预习检查1.在数据库计时,使用什么方式表示数据库实体之间的关系?E-R图2.实体集X和Y存在哪几种关系?3.数据库三大范式的作用是什么?二、本章目标1.了解设计数据库的步骤2.掌握如何绘制数据库的E——R图3.掌握如何绘制数据库模型图4.使用三大范式实现数据库设计规范化三、数据库1.为什么要设计数据库?首先,良好的数据库设计:01.可以节省数据的存储空间02.能够保证数据的完整性03.方便进行数据库应用系统的开发糟糕的数据库设计:01.数据冗余、存储空间浪费02.内存空间浪费03.数据更新和插入的异常 由此,我们得出一个结论,当数据库比较复杂时,我们需要设计数据库2.软件项目开发周期中数据库设计 从上图我们可以看出,软件开发中设计数据库的步骤:首先,我们要从现实世界的需求构建出一个模型,这种模型通过E——R图的方式反映,如果确定E——R满足了客户的需求,那么我们需要将E-R图规范化,构建出数据库模型图,当然在这个图表中要反映出各个数据对象之间的关系,最后我们根据数据库模型图构建出符合我们需求的数据库。     需求分析阶段:分析客户的业务和数据处理需求概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整详细设计阶段:应用三大范式审核数据库结构代码编写阶段:物理实现数据库,编码实现应用软件测试阶段:……安装部署:……3.设计数据库的步骤01.收集信息与该系统有关的人员进行交流,座谈,充分了解用户需求,理解数据库需要完成的任务。02.标识实体(Entity)标识数据库要管理的关键对象或者实体,实体一般都是名词03.标识每个实体的属性04.标识实体之间的关系4.E—R图   映射基数:主要分为以下几类:一对一:一辆车只能对应一个车位一对多:一个客房可以入住多个客人多对一:多个客人可以入住一个客房多对多:一本书可以被多个人借,一个人也可以借多本书        或者是一个老师可以教多个班级,一个班级可以被多个老师教一个关系的属性名的集合称为关系模式Rdbms:relational database management system 关系型数据库管理系统 01.仅有好的RDBMS并不足以避免数据冗余,必须在数据的设计中创建好的表结构02.Dr  E.F.codd,一个IBM研究员。最初定义了规范化的三个级别,范式是具有最小冗余的表结构03.这些范式是:第一范式(1ST NF—First  Normal   Form)第一范式的目标是确保每列的原子性如果每列都是不可再分的最小单元(也称为最小的原子单元),则满足第一范式(1nf)第二范式(2nd NF—Second  Normal  Form)如果一个关系满足1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF),第二范式要求每个表只描述一件事情。第三范式(3rd NF—Third  Normal  Form)如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)今天总算理解清楚了一点,:第二范式是其他列都要依赖于主键列,但是没有说明是直接依赖还是间接依赖。也就是直接依赖和间接依赖均可以。但是第三范式明确指出只能是直接依赖。如果出现间接依赖的情况,要单独独立出来一张表.5,规范化和性能的关系为满足某种商业目标,数据库性能比规范化数据库更重要  具体策略和方法:01.通过在给定的表中添加额外字段,以大量减少需要从中搜索信息所需的时间02.通过在给定的表中插入计算列(比如成绩总分),以方便查询        在数据规范化同时,要综合考虑数据库的性能。  05.设计数据库步骤第一步:需求分析(收集信息)第二步:绘制E-R图 (标示实体 ,找到实体的属性 , 标注实体间的关系)第三步:将E-R图转换成数据库模型图第四步:将数据库模型图转换成数据表  06.如何绘制E-R图  矩形;实体  椭圆形:属性  菱形:关系 E-R: Entity-Relation 实体关系图:分析数据库参与的对象个数,对象的    属性标注 powerDesinger Visio:不能将数据库模型图提炼成SQL语句  07.如何绘制数据库模型图PowerDesigner :选择PhysicalModel 如果有人不小心关掉了Platter,对工具栏点击右键,勾选Platter即可。当我们将数据库模型图设计完毕后,可以通过菜单中的database下的Generate Database来生成对应的sql  08.三大范式规范数据库设计第一范式:保证每列的原子性,每列都不可再被拆分第二范式:在满足第一范式的基础上,一张表只能描述一件事情,除了主键列之外的其他列都依赖于主键列,没有明确提出是直接还是间接(不传递依赖)依赖第三范式:在满足第二范式的基础上,除了主键列之外其他列都要直接依赖于主键要在规范化和性能之间取一个平衡四、课程总结01.在需求分析阶段,设计数据库的一般步骤是什么?收集信息标识实体标识每个实体的属性标识实体之间的关系02.在概要设计阶段和详细设计阶段,设计数据库的步骤是什么?绘制E——R图将E—R图转化为数据库模型图应用三大范式规范化表设计03.为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式,分别是什么?三大范式

0 0
原创粉丝点击