第2讲 数据库设计方法&步骤
- 格式:ppt
- 大小:159.00 KB
- 文档页数:11
第二章数据库的概念结构设计将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。
它是整个数据库设计的关键步骤。
本章主要介绍以下内容:•数据模型。
•概念模型。
•概念结构设计的方法与步骤。
第一节数据模型一、数据数据是数据库中存储的基本对象,也是数据模型的基本元素。
1.数据在数据库中描述事物的符号记录称为数据,是存储的基本对象。
计算机是人们解决问题的辅助工具,而解决问题的前提是对问题存在条件及环境参数的正确描述,在现实世界中人们可以直接用自然语言来描述世界,为了把这些描述传达给计算机,就要将其抽象为机器世界所能识别的形式。
例如,我们在现实世界中用以下语言来描述一块主板:编号为0001的产品为“技嘉主板”,其型号为GA-8IPE1000-G,前端总线800MHz。
如果将其转换为机器世界中数据的一种形式则为:0001,技嘉主板,GA-8IPE1000-G,800MHz。
因此从现实世界中的数据到机器世界中的符号记录形式的数据,还需要一定的转换工作。
2.数据描述在数据库设计的不同阶段都需要对数据进行不同程度的描述。
在从现实世界到计算机世界的转换过程中,经历了概念层描述、逻辑层描述及存储介质层描述三个阶段。
在数据库的概念设计中,数据描述体现为“实体”、“实体集”、“属性”等形式,用来描述数据库的概念层次;在数据库的逻辑设计中,数据描述体现为“字段”、“记录”、“文件”、“关键码”等形式,用来描述数据库的逻辑层次;在数据库的具体物理实现中,数据描述体现为“位”、“字节”、“字”、“块”、“桶”、“卷”等形式,用来描述数据库的物理存储介质层次。
二、数据模型模型是对现实世界中的事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达。
如一座大楼模型、一架飞机模型就是对实际大楼、飞机的模拟和抽象表达,人们从模型可以联想到现实生活中的事物。
数据模型也是一种模型,它是对现实世界数据特征的抽象。
数据模型一般应满足三个要求:一是能比较真实地模拟现实世界;二是容易被人们理解;三是便于在计算机上实现。
数据库-架构设计1、单库单表单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。
2、单库多表随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。
可以通过某种方式将user进行水平的切分,产生两个表结构完全一样的user_0000,user_0001等表,user_0000 + user_0001 + …的数据刚好是一份完整的数据。
3、多库多表随着数据量增加也许单台DB的存储空间不够,随着查询量的增加单台数据库服务器已经没办法支撑。
这个时候可以再对数据库进行水平区分。
1).分库分表规则设计表的时候需要确定此表按照什么样的规则进行分库分表。
例如,当有新用户时,程序得确定将此用户信息添加到哪个表中;同理,当登录的时候我们得通过用户的账号找到数据库中对应的记录,所有的这些都需要按照某一规则进行。
2).路由通过分库分表规则查找到对应的表和库的过程。
如分库分表的规则是user_id mod 4的方式,当用户新注册了一个账号,账号id为123,我们可以通过id mod 4的方式确定此账号应该保存到User_0003表中。
当用户123登录的时候,我们通过123 mod 4后确定记录在User_0003中。
3).维度的问题假如用户购买了商品,需要将交易记录保存取来,如果按照用户的纬度分表,则每个用户的交易记录都保存在同一表中,所以很快很方便的查找到某用户的购买情况,但是某商品被购买的情况则很有可能分布在多张表中,查找起来比较麻烦。
反之,按照商品维度分表,可以很方便的查找到此商品的购买情况,但要查找到买人的交易记录比较麻烦。
所以常见的解决方式有:a.通过扫表的方式解决,此方法基本不可能,效率太低了。
b.记录两份数据,一份按照用户纬度分表,一份按照商品维度分表。
c.通过搜索引擎解决,但如果实时性要求很高,又得关系到实时搜索。
数据库习题第一讲走进数据库1.1 走进数据库1 数据库系统与文件系统的最根本的区别是( ) 。
A.文件系统只能管理程序文件,而数据库系统可以管理各种类型文件B.数据库系统复杂,而文件系统简单C.文件系统管理的数据量少,而数据库系统可以管理庞大数据量D.文件系统不能解决数据冗余和数据的独立性,而数据库系统能正确答案: D2 下述不是 DBA 数据库管理员的职责的是( ) 。
A.完整性约束说明B.定义数据库模式C.数据库管理系统设计D.数据库安全正确答案: C3数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
A.DBS 包括 DB 和 DBMSB.DBMS 包括 DB 和 DBSC.DB 包括 DBS 和 DBMSD.DBS 就是 DB,也就是 DBMS正确答案: A4 ( )是以一定的组织方式将相关的数据组织在一起,长期存放在计算机内,可为多个用户共享,与应用程序彼此独立,统一管理的数据集合。
正确答案:数据库5 在数据库的三级模式结构中,描述数据库中全体数据的逻辑结构和特征的是( ) 。
正确答案:模式1.2 关系数据库1 在关系运算中,选择运算的含义是( ) 。
A.从一个关系中找出满足给定条件的元组组成一个新的关系B.从一个关系中找出需要的属性组成一个新的关系C.从一个关系中找出满足条件的元组和属性组成一个新的关系D. 以上 3 种说法均是正确的正确答案: A2 在“学生表”中,要查找所有年龄大于 30 岁姓王的男同学,所采用的关系运算是 ( ) 。
A.选择B.投影C.连接D. 自然连接正确答案: A3 在关系运算中, ( )运算得到的新关系中属性个数通常多于原关系中属性个数。
A.选择B.投影C.连接D.并正确答案: C4 在“教师表”中要显示教师的姓名和职称的信息,应采用的关系运算是( )A.选择B.投影C.连接D.差正确答案: B5 传统的集合运算包含并、差、交和( )。
2理解三层架构和EasyUI本节介绍如何使用三层架构存取数据、使用MVC模式实现WebUI界面、设计界面时采用EasyUI控件等多方面知识的理解与应用。
三层架构与MVC的关系可以按下图来理解。
理解:三层架构是负责数据存取的架构,而MVC模式是对使用三层架构进行Web应用开发的补充,是WebUI界面层开发的技术,但二者共用Model层中的内容。
2.1创建MVC4 Web项目鼠标右击解决方案,选择菜单“添加 > 新建项目”,弹出“添加新项目”对话框,选择项目类型为“ MVC4 Web应用程序”,输入项目名称“ChA202_理解三层架构和EasyUI”,按“确定”按钮后,弹出“新 MVC4 项目”对话框,选择“空”项目模板,如下图。
2.2创建三层架构的类库在当前解决方案中添加Model类库,在类库中添加学生信息的三个类:Student, Course 和 SC类;或者直接将“ChA1_Win三层架构数据库应用开发入门”中的Model项目添加到当前解决方案中。
类似的方法,创建或添加数据库操作类MyDbHelper、数据访问层DAL类和业务逻辑层BLL 类库,完成后的解决方案如下图所示。
修改“理解三层架构和EasyUI”项目中web.config中的内容,添加连接字符串和连接字符串是否加密的设置,如下。
2.3添加JQuery和EasyUI控件添加EasyUI文件夹到“ChA202_学生信息管理”项目中。
2.4添加学生控制器接下来创建一个新的 StudentController 类,并在这个 Controller 类里编写代码来取得学生数据,使用视图模板将数据展示在浏览器里。
用鼠标右键单击 Controller 文件夹,并创建一个新的 StudentsController 控制器。
创建完成后的学生控制器代码如下。
2.5添加学生视图显示学生信息、添加/修改/删除学生信息的界面均采用EasyUI控件在学生视图中完成,而与三层架构(BLL层)打交道的方法在学生控制器中实现。
第二章数据库访问模块设计用Visual Basic访问数据库有许多可供选择的方案,但是选择那种方案更能使开发队伍和应用软件在今天处于有利位置并且适应将来的发展方向呢?这些解决方案各有什么特点?本章将详细介绍Visual Basic中访问数据库的各种方法,包括DAO、RDO和ADO,以便帮助Visual Basic的用户如何快捷地访问各种数据库。
其中,由于ADO是最新的数据库访问技术,因此本章将重点介绍ActiveX数据对象(ADO)。
2.1 VB中的数据库访问对象Visual Basic中的数据库编程就是创建数据访问对象,这些数据访问对象被用来访问物理数据库的不同部分,例如数据库、表、字段和索引等,同时用这些对象的属性和方法来实现对数据库的操作,以便在Visual Basic窗体中使用绑定和非绑定控件来显示操作结果并接收用户输入。
在Visual Basic 6.0中,可以使用的数据访问对象有以下三种:⚫数据访问对象(DAO);⚫远程数据对象(RDO);⚫ActiveX数据对象(ADO);数据的访问技术总是在不断的改进,ADO、DAO和RDO代表该技术的不同发展阶段。
ADO是最新的数据库访问技术,也是本章重点介绍的技术。
如果没有特殊说明,在后面的章节中,所有的数据库访问方法都是用ADO来实现的。
2.1.1.数据访问对象DAO的概述DAO就是Database Access Object,数据库访问对象的英文缩写。
在VB中提供了两种与Jet数据库引擎接口的方法:Data控件和数据访问对象(DAO)。
Data控件只给出有限的不需编程而能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。
指点迷津:要访问数据库,一方面数据库方面要提供访问的接口,另一方面要在编程集成环境中有对数据库的支持。
DAO模型就是Visual Basic提供的对数据库的完整支持,而Data控件不过是封装了某些功能的DAO函数。
《数据库设计》ppt课件目录•数据库设计概述•需求分析•概念结构设计•逻辑结构设计•物理结构设计•数据库实施与维护•案例分析与实战演练01数据库设计概述数据库设计定义与重要性定义数据库设计是指根据用户需求,运用数据库技术,设计数据库结构、建立数据库及其应用系统的过程。
重要性数据库设计是信息系统开发过程中的重要环节,直接影响系统的性能、可扩展性、可维护性等。
01目标02满足用户需求03保证数据的完整性、一致性和安全性提高数据的共享性和利用率降低数据冗余度,提高数据独立性用户参与原则让用户参与数据库设计全过程,确保设计满足用户需求。
综合性原则综合考虑数据结构、数据操作、数据完整性、安全性等多方面因素。
标准化原则遵循国际、国家和行业标准,提高设计的通用性和可移植性。
优化原则在满足用户需求的前提下,优化数据库性能,提高系统效率。
流程1.需求分析2.概念结构设计1 2 33. 逻辑结构设计4. 物理结构设计5. 数据库实施•数据库运行和维护步骤1.收集和分析用户需求,确定系统功能和性能要求。
2.选择合适的数据模型,设计概念结构,形成概念模式。
02030401 3. 将概念模式转换为逻辑模式,进行逻辑优化。
4. 选择物理存储结构,设计物理模式,进行物理优化。
5. 用DDL 定义数据库结构,组织数据入库,编制与调试应用程序。
6. 试运行数据库系统,进行性能和安全测试,对系统进行评估和调整。
02需求分析需求收集与整理与用户沟通了解用户的业务需求、数据需求和处理需求。
收集资料从现有系统、文档、报表等资料中收集相关信息。
整理需求将收集到的需求进行分类、归纳和整理,形成规范化的需求描述。
数据流图与数据字典数据流图用图形化方式描述系统中数据的流动和处理过程,包括外部实体、数据流、数据存储和处理过程等元素。
数据字典对数据流图中出现的所有元素进行定义和描述,包括数据项、数据结构、数据流、数据存储、处理逻辑和外部实体等。
需求分析评审与确认需求分析评审组织专家和用户代表对需求分析结果进行评审,检查需求描述的完整性、准确性和一致性。