SQL课堂笔记--设计数据库

       2017.11.22
             
 1.良好的数据库设计:
  1).节省数据的存储空间
  2).能够保证数据的不完整
  3).方便进行数据库应用系统的开发

 2.糟糕的数据库设计:
  1).数据冗余,存储空间浪费
  2).内存空间浪费
  3).数据更新和插入异常
   数据冗余:指数据间的重复,也可以说是同一数据存储在不同数据文件中的现象(多个地方重复存储相同数据)
     可以说增加数据的独立性和减少数据冗余是企业范围信息资源管理和大规模信息系统获得成功的前提条件
    
   

 什么是数据库设计:
  数据库指在现有的DBMS上建立数据库的过程
 
 数据库设计的任务:
  狭义上讲,就是对某个给定的应用领域,设计优化的数据库逻辑结构和物理结构,并建立数据库
  广义上讲就是数据库及其应用系统的设计,即设计整个数据库应用系统

 数据库设计的特点:三分技术,七分管理.十二分数据 
   数据库的建设中不仅涉及数据库的设计和开发等技术,也涉及管理问题.这里的管理不仅仅包括项目的管理,也包括与该
   项目关联的企业的管理.基础数据的收集,整理是非常繁琐吃力的事情.

 数据库结构设计和对数据的处理设计密切结合:
  结构设计:设计各级数据库模式,决定数据库系统的信息内容
  行为设计:决定数据库系统的功能,是事物处理等应用程序的设计
  
 

 功能分析:
  
  层次方框图表示
 
 micsoft visio:矢量绘图软件.
 
 数据库设计方法:
  规范设计方法:
   手工设计方法
   基本思想:过程迭代和逐步求精
   典型方法:
    


 数据库设计的基本步骤:
  数据库设计分6个阶段:
    需求分析:收集,分析,了解用户的数据需求和处理需求
    概念结构设计:构造概念模型(ER模型)
    逻辑结构设计:概念模型转化数据模型(关系模式)
    物理结构设计:选择最合适的物理结构(存储结构,存取结构)
    数据库实施
    数据库运行和维护
    
    --需求分析和概念分析设计独立于任何数据管理系统
    --逻辑设计和物理设计与选用的DBMS密切相关

   
 数据库应用系统开发过程:
  -1.需求分析(功能图)
  -2.数据库建模
  -3.应用系统设计
  -4.选择系统环境(硬件)
  -5.选择DBMS
  -6.建立数据库
  -7.程序设计,编程,调试
  -8.系统试运行
  -9.系统正式运行
  -10.系统管理,维护,扩充
 
 数据库设计专业人员应具备哪些知识:
  1.数据库的基本知识和数据库设计
  2.计算机科学的基础知识和程序设计的方法和技巧
  3.软件工程的原理和方法
  4.应用领域的知识

  
  1.需求分析:   
   主要任务:
    了解,收集,分析用户的数据和处理需求
   分析过程:
    -1.系统调查
'     -(1)组织机构(部门组成) 
     -(2)业务流程(业务状况,经营方式,信息流)
     -(3)信息需求和处理需求(信息内容,信息量安全性,完整性,系统功能)
     -(4)企业的限制和目标(各种要求,规模,资源)
    -2.系统分析
     -对调查所获得的原始资料必须进行综合的分析,权衡各个方面的利弊,确定数据库的
      结构设计和设计程序的策略和方案,.分析内容:
     -(1)业务流程
     -(2)信息收集和分析
     -(3)处理需求分析
     -(4)各种限制和要求分析
    -3.建立系统分析文档
     -(1)业务流程图:各部门的实际业务流向
     -(2)数据流图(DFD图):数据处理的工作状态
     -(3)数据词典(DD):定义DFD图中的数据元素和处理
      系统说明书:数据流图,数据字典


  2.概念模型设计  用户需求抽象为信息结构
   主要任务:
    -根据需求分析将 用户需求抽象为信息结构,也称为信息世界建模
   描述概念模型的工具:E-R图
   设计过程:
    -1.设计局部E-R图
    -2.合并局部E-R图构成全局E-R图
    -3.对全局E-R图进行优化
    在E-R图模型中,信息由实体型,实体属性和实体间的联系三种概念单元来表示  

  

      练习:

        

1、某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。

2、学校中有若干系,每个系有若干个教研室和专业,每个教研室有若干教师,其中一名为教研主任。每个专业有若干个班,每个班有若干学生,其中有一名学生是班长。每个学生选修若干课程,每门课可由若干学生选修,但同一门课程只能有一名教师教授。请用e-r图画出此学校的概念模型。

3、设某商业集团数据库中有三个实体集。

一是“商店”实体集,属性有商店编号、商店名、地址等;

二是“商品”实体集,属性有商品号、商品名、规格、单价等;

三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。

商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。

4、某一研究院有若干处室,包括处编号、处名称、地点、负责人等;每一个处室有若干个科室,包括科编号、科名称、人数、地点;每一个科室有若干个工作人员,包括职工编号、姓名、职务,学历、职称,简历,每个职工的简历包括开始时间、终止时间、单位、担任职务,该研究院承担若干个课题,包括课题号、课题名、经费等,每个职工可以承担若干个课题,每个课题可以由若干人参加,每个课题有一个负责人。要求画出实体联系的E-R图。

5、一个图书借阅管理数据库要求提供下述服务:

1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。

2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。

我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

根据以上情况和假设,要求画出实体联系的E-R图。

   **E-R图并非标准答案,仅供参考,若有建议,谢谢提醒


   

原文地址:https://www.cnblogs.com/TuringShine/p/7922962.html