数据库设计原理与步骤解析

版权申诉
0 下载量 10 浏览量 更新于2024-07-03 收藏 9.58MB DOC 举报
"数据库设计是构建最优数据库模式的过程,它涉及数据库基础知识、软件工程原理、计算机科学知识以及应用领域的专门知识。设计过程中包括需求分析、概念设计、逻辑设计和物理设计等步骤,目的是为了有效存储数据并满足用户信息和处理需求。数据库设计的特点在于结合硬件、软件和人为因素,同时考虑结构设计和行为设计。常用的设计方法有规范化设计、基于E-R模型的方法、3NF设计和抽象语法规范设计。现代大型数据库设计有时会借助自动化工具。设计流程通常包括六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和运行维护。需求分析阶段要明确信息和数据要求,了解用户业务以确定新系统功能。" 在数据库设计中,首先需要理解的是数据库设计的概览,它不仅关乎数据的存储,还包括满足用户的各项需求,如信息要求和处理要求。设计过程中,数据库应用系统被看作是硬件、软件和技术管理界面的结合体,需要与应用系统设计紧密配合,处理结构设计和行为设计的融合。 数据库设计技术包括了新奥尔良方法,它涵盖了需求分析、概念设计、逻辑设计和物理设计四个阶段。此外,基于E-R模型的设计方法是另一个常用手段,通过实体-关系模型来表达数据结构。3NF(第三范式)设计方法则注重数据依赖的规范化,以减少数据冗余。抽象语法规范的设计方法则关注数据表示的抽象层次。 设计过程通常分为六个阶段:首先,需求分析阶段是深入了解用户业务,明确信息和数据需求;其次,概念结构设计阶段,通过数据抽象和E-R模型建立初步的数据模型;接着,逻辑结构设计将概念模型转化为特定DBMS支持的逻辑模型,如关系模型;然后,物理结构设计考虑存储效率和性能优化;数据库实施阶段,根据设计创建实际数据库;最后,数据库运行和维护阶段确保系统的稳定性和适应性。 数据流图和数据字典是需求分析中的工具,用于描述数据的流动和存储情况。E-R模型向关系模型的转换是逻辑设计的关键步骤,将实体、属性和关系映射为表和键。在设计简单数据库应用时,这些技能是必不可少的。 数据库设计是一项复杂而关键的任务,涉及多学科知识,需要综合考虑用户需求、系统性能和数据管理策略。随着技术的发展,自动化工具的出现使得大型数据库设计变得更加高效,但理解并掌握这些基本原理和步骤仍然是每个数据库设计者的基础。
2023-01-08 上传
任课教师: 《数据库原理与应用A》 (2011-2012学年第1学期) 实 验 报 告 学号: 姓名: 班级: 实验三 数据库系统设计 一、实验目的: 1. 掌握数据库设计的理论,学会构造一个好的数据库模式; 2. 通过需求分析,学会进行概念结构设计,并掌握其方法与步骤 3. 掌握数据库的详细设计、实施与维护的方法与步骤; 二、实验内容 通过需求分析,构造学生管理信息系统模式; 三、实验方法及步骤: 学生成绩管理系统主要提供方便高效的管理功能,该实现以下一些基本功能: 1.系统管理模块:维护系统的正常运行和安全性设置,包括添加用户、修改密码、删除用 户等等。 2.班级管理模块:实现对全校班级的管理工作,包括:班级游览、班级添加、班级修改 等,这三个功能模块各自独立,完成学校的全部班级的管理。 3.学生学籍管理模块:实现对学生的个人信息的管理工作,包括学籍添加、学籍查询、 学籍修改等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。 4.课程管理模块:该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材 选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。该模块包括基本 课程设置和班级课程设置两个模块。 5.成绩管理模块:检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有 期中考试和期未考试两种类型,还设置了成绩添加、成绩查询、成绩浏览、成绩修改等 功能模块。 6.奖惩信息管理模块:奖惩信息是用来督促学习学习活动的一种手段,包括奖惩信息的 添加和修改。 7.个人信息查询模块:用于学生个人信息的查询,分为奖惩信息查询和成绩查询两个模 块。 8. 退出模块:此模块完成程序的退出。 步骤: 1. 创建数据库 2. 创建并设计基本表: 表1班级课程表(class_Cour) "字段名称 "数据类型 "字段大小 "允许空字符串 " "班级编号class_NO "文本 "20 "否 " "课程名course_Name"文本 "20 "否 " 表2班级表(class_Form) "字段名称 "数据类型 "字段大小 "允许空字符串 " "班级编号class_NO "文本 "20 "否 " "班级名称class_Name "文本 "10 "否 " "导员姓名class_Teache"文本 "10 "否 " "r " " " " "备注信息class_Remark"文本 "60 " " "s " " " " 表3课程表(course_Form) "字段名称 "数据类型 "字段大小 "允许空字符串 " "课程名course_Name "文本 "20 "否 " "备注course_Rem "备注 " " " 表4奖惩表(prize_Form) "字段名称 "数据类型 "字段大小 "允许空字符串 " "奖惩名称prize_Name"文本 "20 "否 " "备注信息prize_Rem "备注 " " " 表5学生奖惩表(prize_Stud) "字段名称 "数据类型 "字段大小 "允许空字符串 " "奖惩序号prize_NO "文本 "14 "否 " "奖惩学生学号prize_St"文本 "20 " " "u " " " " "奖惩日期prize_Dat "日期/时间 "短日期 " " "奖惩名称prize_Nam "文本 "20 " " 表6成绩表(Score_Form) "字段名称 "数据类型 "字段大小 "允许空字符串 " "考试序号score_Per "文本 "20 " " "学生班号score_Cls "文本 "20 " " "学生编号score_Stu "文本 "20 " " "考试课程score_Cou "文本 "20 " " "考试分数score_Sco "数字 "单精度型 "自动(小数位) " 表7学生表(student_Form) "字段名称 "数据类型 "字段大小 "允许空字符串 " "学号student_NO "文本 "20 "否 " "姓名student_Name "文本 "10 " " "性别student_Sex "文本 "2 " " "出生日期student_Bir "日期/时间 "短日期 " " "学生编号student_Cla "文本 "20 " " "联系电话student_Tel "文本 "13 " " "入学日期student_Esd "日期/时间 "短日期 " " "家庭住址student_Add "文本 "60 " " "备注信息student_Rem "备注 " " " 表8 user_Form用户表 "字段名称 "数据类型 "字段大小 "允许空字符串 " "用户名称user_ID "文本 "20 "否 " "用户密码user_PWD "文本 "10 " " "创建日期
2023-01-08 上传
1.数据库应用系统的设计步骤 按规范设计的方法可将数据库设计分为以下六个阶段 (1)需求分析; (2)概念结构设计; (3)逻辑结构设计; (4)数据库物理设计; (5)数据库实施; (6)数据库运行和维护。 2.需求分析 需求收集和分析是数据库应用系统设计的第一阶段。明确地把它作为数据库应用系统 设计的第一步是十分重要的。这一阶段收集到的基础数据和一组数据流图(Data Flow Diaˉgram———DFD)是下一步设计概念结构的基础。概念结构对整个数据库设计具有深刻 影响。而要设计好概念结构,就必须在需求分析阶段用系统的观点来考虑问题、收集和 分析数据及其处理。如何分析和表达用户需求呢?在众多的分析方法中,结构化分析( Structured Analysis,简称SA方法)是一个简单实用的方法。SA方法用自顶向下、逐层分解的方式 分析系统。用数据流图,数据字典描述系统。然后把一个处理功能的具体内容分解为若 干子功能,每个子功能继续分解,直到把系统的工作过程表达清楚为止。在处理功能逐 步分解的同时,它们所用的数据也逐级分解。形成若干层次的数据流图。数据流图表达 了数据和处理过程的关系。处理过程的处理逻辑常常用判定表或判定树来描述。数据字 典(Data Dictionary,简称DD)则是对系统中数据的详尽描述,是各类数据属性的清单。对数据 库应用系统设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。 数据字典是各类数据描述的集合,它通常包括以下5个部分: (1)数据项,是数据最小单位。 (2)数据结构,是若干数据项有意义的集合。 (3)数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入输出。 (4)数据存储,处理过程中存取的数据。常常是手工凭证、手工文档或计算机文件 。 (5)处理过程。 3.概念结构设计 如同软件工程中重视需求分析与规范说明的思想一样,数据库设计中同样十分重视数 据分析、抽象与概念结构的设计。概念结构的设计,是整个数据库设计的关键之一。概 念结构独立于数据库逻辑结构,独立于支持数据库的DBMS,也独立于具体计算机软件和 硬件系统。归纳总结,其主要特点是: (1)能充分地反映现实世界,包括实体和实体之间的联系,能满足用户对数据处理 的要求,是现实世界的一个真实的模型,或接近真实的模型。 (2)易于理解,从而可以和不熟悉计算机的用户交换意见。用户的积极参与是数据 库应用系统设计成功与否的关键。 (3)易于更动。当现实世界改变时容易修改和扩充,特别是软件、硬件环境变化时 更应如此。 (4)易于向关系、网状或层次等各种数据模型转换。概念结构是各种数据模型的共 同基础,它比任意一种数据模型更独立于机器,更抽象,从而更加稳定。描述概念结构 的有力工具是E-R模型。P.P.S.Chen把用E- R模型定义的概念结构称为组织模式。设计概念结构的策略有3种: (1)自顶向下 首先定义全局概念结构的框架,然后逐步细化。 (2)自底向上 首先定义各局部应用的概念结构,然后将它们集成,得到全局概念结构。 (3)混合策略 自顶向下和自底向上相结合的方法。用自顶向下策略设计一个全局概念结构的框架,以 它为骨架集成由自底向上策略中设计的各局部概念结构。现介绍自底向上设计概念结构 的策略。按照这种策略,概念结构的设计可按下面步骤进行。 (1)数据抽象与局部视图设计 E- R模型是对现实世界的一种抽象。一般地讲,所谓抽象是对实际的人、物、事和概念的人 为处理。它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种抽象的 概念精确地加以描述。这些概念组成了现实世界的一种模型表示。有3种抽象方法形成了 抽象机制,来对数据进行组织: 分类(Classification) 定义某一概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。 它抽象了对象值和型之间的"is a member of"的语义。在E- R模型中,实体型就是这种抽象。 聚集(Aggregation) 定义某一类型的组成成分。它抽象了对象内部属性类型和整体与部分之间"is a part of"的语义。在E- R模型中若干属性的聚集组成了实体型,就是这种抽象。 概括(Generalization) 定义类型之间的一种子集联系。它抽象了类型之间的"is a subset of"的语义。概括具有一个很重要的性质:继承性。子类继承超类上定义的所有抽象性质 。当然,子类可以增加自己的某些特殊属性。概念结构设计的第一步就是利用上面介绍 的抽象机制对需求分析阶段收集到的数据进行组织,形成实体、实体的属性,标识实体 的码,确定实体之间的联系类型(1 1,1 n,n m),设计成部分E-R图。 (2)视图的集成视图集成就是把上一步得到的各个部分E-
2023-01-08 上传
数据库设计 省级政务平台数据库设计 数据库设计原则 (1)标准化 严格按照相关技术标准完成数据库的设计,包括国土资源部颁发的相应数据库建库规 范标准、国家已经发布的许多基础的行业分类、代码标准,以及在信息化建设过程中形 成的一些可操作性强的数据库设计标准。 (2)一致性 数据库设计要符合数据一致性原则,国家、省、地(市)重复存储的业务数据和基础 数据要保持一致性。 (3)完整性 利用关系型数据库提供的数据完整性约束功能来保证数据的完整性,特别是要合理利 用以下四种约束类型:非空,唯一键,主键,外键。 (4)有效性 物理设计需综合考虑,根据业务规则,确定关联表的数据量大小,对数据项的访问频 度。 索引可提供快速访问表中数据的策略。建立索引时设置较小的填充因子,以便在各数 据页中留下较多的自由空间,减少页分割及重新组织的工作。从而提高数据库运行效率 和执行性能。 此外,考虑利用数据库提供的簇表机制、历史数据分离机制、逻辑存储分开机制、空 间数据索引机制等。 (5)安全性 包括对系统存储数据的安全性控制,包括访问类型(读、写等)、访问对象的控制策略 和实现方法、授权与收权等。 概念设计 数据库环境说明 所采用的数据库系统为Oracle11g中文版。 数据库的命名规则 为了清晰描述数据库对象,所有的表名采用汉语拼音前缀表示数据分类,表名和字段 名准确描述,避免使用有二义性的词汇。在某些习惯使用英文的字典表和系统设置表或 使用英文更能够描述对象的时候,也使用英文来进行命名。 逻辑设计 数据的逻辑分类 目前,省级政务管理平台中共包括四类逻辑存储单元:组织机构用户管理数据库、权 限访问控制管理数据库、业务表单构建数据库和业务流程构建数据库,分别用来存储平 台的基础配置数据、业务数据和非结构化数据,详细说明如下: 表4-3逻辑分类 "逻辑存储单元 "说明 " "组织机构用户管"用来存储组织机构用户管理配置数据,包括用户表、用户" "理数据库 "签章、用户状态表、组织机构表、角色表等。 " "权限访问控制管"用于存储权限访问控制管理配置数据,包括权限表、各类" "理数据库 "关联表。 " "业务表单构建数"用于存储业务表单构建数据,包括业务树结构表、数据模" "据库 "型书、业务表单等。 " "业务流程构建数"用于存储业务流程构建数据,包括流程实例表、业务连接" "据库 "、流程环节、附件表等。 " 数据E-R图 总图 用户组织机构 图4-78用户组织机构 用户角色权限 图4-79用户角色权限 业务模型树 图4-80业务模型树 业务数据 图4-81业务数据 工作流流转 图4-82工作流流转 物理设计 设计数据库的物理结构,根据数据库的逻辑结构来选定RDBMS,并设计和实施数据库 的存储结构、存取方式。 表空间设计 遵照《数据库表空间命名规范》,数据库表空间设计如下: 表4-4表空间设计 "编号 "业务系统名称 "表空间名称 "总大小 " "1 "省级政务管理平台 "JSYZT "100G " 数据库用户设置 表4-5数据库用户设置 "用户 "角色 "数据库访问"用户说明 " "JSYZT "RESOURCE、CONNECT "JSYZT "政务平台系统管理操作用 " " " " "户 " "BL_JSYD "RESOURCE、CONNECT "JSYZT "建设用地业务操作用户 " "BL_ZBPH "RESOURCE、CONNECT "JSYZT "占补平衡业务操作用户 " "ETL "RESOURCE、CONNECT "JSYZT "ETL数据查询用户 " 数据库表汇总 表4-6数据库表汇总 "类别 "表名 "功能说明 " "组织机构用户管理 "用户表 "描述用户的基本信息 " " "用户签章 "描述用户签章的基本信" " " "息 " " "用户状态表 "描述用户状态的信息 " " "组织机构表 "描述组织机构的信息 " " "角色表 "描述角色信息 " " "组织机构和用户关联表 "记载组织机构和用户关" " " "联数据项 " " "职务表 "描述用户的职务信息 " " "部门关联职员表 "记载部门与部门之间的" " " "关联数据项 " " "部门人员职责表 "描述部门各职位人员的" " " "责任 " "权限访问控制管理 "权限表 "描述权限的基本信息 " " "权限和角色的关联表 "记载权限和角色的关联" " "角色和用户的关联表 "描述角色和用户信息 " " "角色、权限和用户的关联表 "描述角色、权限和用户" " " "信息 " "业务表单构建 "业务分类表 "记载业务分类信息 " " "计数器 "描述计数器相关参数的" " " "信息 " " "业务树结构表 "描述业务树结构的信息" " "业务数据模型表 "记录业务数据模
2023-01-08 上传
问卷调查 一、数据库设计(Student) 问卷调查系统的数据库主要存放人员表(表1)、角色表(表2)、问卷表(表3)、 题型表(表4)、问题表(表5)、选项表(表6)、回答表(表7) 表1 人员表 "栏目名称"列名 "类型 "可否为空 "说明 " "用户编号"userID "int "N "主键 " "密码 "Passwor"nvarchar"N " " " "d "(50) " " " "姓名 "userNam"nvarchar"N " " " "e "(50) " " " "角色编号"roleID "int "N " " "登陆 "land "bit "N "是否能登陆 " 表2 角色表 "栏目名称"列名 "类型 "可否为 "说明 " " " " "空 " " "角色编号"roleID "int "N "主键 " "角色名称"roleName "nvarchar("N " " " " "50) " " " 表3 问卷表 "栏目名称 "列名 "类型 "可否为空 "说明 " "问卷编号 "paperID "Varchar(5"N "主键 " " " "0) " " " "标题 "title "nvarchar("N " " " " "50) " " " "副标题 "fu_title "nvarchar("N " " " " "50) " " " "说明 "direction"nvarchar("N " " " " "50) " " " "添加问卷日"andDate "nvarchar("N " " "期 " "50) " " " "操作开始日"operateDa"nvarchar("N " " "期 "te "50) " " " "结束问卷日"endDate "nvarchar("N " " "期 " "50) " " " "操作 "operate "bit "N "针对于学生 " "感谢信息 "thanksMsg"nvarchar("N " " " " "50) " " " 表4 题型表 "栏目名称 "列名 "类型 "可否为空 "说明 " "题型编号 "topicID "varchar(5"N "主键 " " " "0) " " " "题型名称 "topicName"nvarchar("N " " " " "50) " " " 表5 问题表 "栏目名称 "列名 "类型 "可否为空 "说明 " "问题编号 "questionI"int "N "主键 " " "D " " " " "标题 "Title "nvarchar("N " " " " "50) " " " "说明 "direction"nvarchar("N " " " " "50) " " " "是否必答 "answer "nvarchar("N " " " " "50) " " " "问卷编号 "papered "nvarchar("N " " " " "50) " " " "题型编号 "topicID "nvarchar("N " " " " "50) " " " 表6 选项表 "栏目名称 "列名 "类型 "可否为空 "说明 " "选项编号 "selectID "int "N "主键 " "问题编号 "questionI"nvarchar("N " " " "D "50) " " " "选项内容 "Scontent "nvarchar("N " " " " "50) " " " 表7 回答表 "栏目名称 "列名 "类型 "可否为空 "说明 " "编号 "ID "int "N "主键 " "用户编号 "userID "int "N " " "选项编号 "selectID "int "N " " ----------------------- 问卷调查数据库设计全文共2页,当前为第1页。 问卷调查数据库设计全文共2页,当前为第2页。