数据库应用知识总结.docx
- 文档编号:23315253
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:20
- 大小:217.18KB
数据库应用知识总结.docx
《数据库应用知识总结.docx》由会员分享,可在线阅读,更多相关《数据库应用知识总结.docx(20页珍藏版)》请在冰豆网上搜索。
数据库应用知识总结
企业数据库应用知识总结
知识可以学习,能力不可学习
技能需要训练,过程重于结果
1
第一部分:
如何设计数据库(设计能力培养)
1.1数据库的服务对象是谁
1.1.1数据库的服务对象是需要它的用户,包括各企业单位等。
1.1.2用户的社会目标是提高工作效率,降低工作成本。
1.2设计数据库的目的是什么
1.2.1用户使用数据库要达到的目的:
--提高经营效益;
--降低管理成本;
--提高工作效率;
--增强竞争力和活力;
--增强应对多变环境的能力等。
1.2.2用户从数据库要得到的帮助和支持:
--从众多的信息中找出有用的信息;
--将有用的信息整合到一起以便查询和使用;
--根据这些信息和数据为企业做出正确有利的决策;
--保证计划的执行度等
1.3用户要做什么工作
用户角色的职能是什么做什么用到什么产生什么
用户角色是为例便于管理不同用户使用数据库的权限。
将一组具有相同权限的用户组织在一起,产生一组具有相同权限的用户,系统管理员只需对权限的种类进行划分,然后将不同的权限授予不同的角色,而不必关心有哪些具体的用户,简化了管理。
职能是组织信息,管理信息,控制信息;做关于数据的处理;用到数据库中的数据;产生关于数据的查询数据以及修改数据的完成等。
用户各项职能活动的联系如何
职能和业务流程分析
以库存管理的入库流程为例:
实体、联系分析
仓库管理系统中涉及三个实体用户、货物、仓库,用户和货物之间是一对多
的关系,仓库和货物之间也是一对多的关系。
每个实体都有各自不同的属性。
仓库管理系统的业务流程总体E-R图如图所示:
1.3.1方法:
自顶向下
1.4需要什么信息
1.4.1信息需求分类
1.一般信息需求
2.管理信息需求
3.决策信息需求
4.特殊信息需求
1)安全需求
2)特殊需求(季节性、波动性、突发性……)
3)特别关切(重点对象、重点事件、特例事件、特殊时间节点监控……)
1.4.2信息需求分析
1.属性分析
属性:
实体所具有的某一特性。
属性分析,就是对业务流程中的实体具有的也行进行分析。
2.标识属性分析
标识属性:
是指能唯一标识一个元祖的属性。
3.参照属性分析
参照属性:
也可以说是外键。
参照属性分析,就是要考虑不同的表之间的联系,如,派工单中的生产订单编号是外键,参照生产订单中的生产订单编号。
1.5信息如何帮助他的工作
1.5.1信息处理方法分析:
预测、决策、计划、领导、管理、控制、协调、调度……
数据处理也称信息处理。
数据处理是对各种形式的数据进行收集、存储、加工和传播等活动的总称,要求高效率管理浩瀚的数据并从中提取有价值的信息作为人类活动的依据。
数据收集、分类、组织、编码、存储、检索、传输和维护等环节是数据处理的基本操作,称为数据管理,是数据处理的核心问题。
数据库技术所研究的问题就是如何科学地进行数据管理,是数据管理的新技术。
数据管理技术的发展大致经历了从人工管理、文件系统和数据库系统三各阶段。
数据库的实质是一个所有存储在计算机内的相关数据的集合。
数据库管理系统对全部数据实施统一的、集中的操作,可以方便地得到各种信息。
1.5.2管理方法、数学模型分析
以物料的ABC分析法为例:
库存管理已成为企业间竞争生存的重要一环。
科学、高效的库存管理方法是许多企业管理者追求的目标。
ABC分析法就是库存管理中常用的方法之一。
物料的ABC分类的依据是帕累托定律,帕累托是19世纪意大利的一位经济学家,他发现当时意大利80%的财富集中在20%的人手里。
后来人们发现很多场合都服从这一规律,因此称之为帕累托定律。
概念:
在一个企业中有很多库存物料,但是这些物料对于企业生产运作的重要性并非都是一样的,可以依据帕累托定律将所有物料分为三类:
A类物料:
大部分的物料价值集中在少数物料上,这个少数物料即为A类物料;
C类物料:
大量的物料却只占有少量价值,即为C类物料;
B类物料:
处于A和C中间状态的物料为B类物料。
这一方法符合“抓住关键少数”、“突出重点”的原则,是一种比较经济合理的管理方法。
该法即适合于单一品种各成本项目的控制,又可以用于多品种成本控制,亦可用于某项成本的具体内容的分类控制。
具体划分与控制方法如下表所示:
按照ABC分析法的要求,A类项目是重点控制的对象,必须逐项产格馨制;B类项目是一般控制对象,可分别不同情况采取不同的措施;C类项目不聂控制的对象。
只需采取简单控制方法即可。
显然,按ABC分析法分析成本控制衡象,可以突出重点,区别对待,做到主次分明,抓住了存货成本控制的主要矛雇。
它主要适用于原材料品种多,价格相差很大的工业企业。
1.5.3处理流程分析
数据处理流程分析就是把数据在现行系统内部的流动情况抽象出来,舍去了具体组织机构、信息载体、处理工作等物理组成,单纯从数据流动过程来考察实际业务的数据处理模式。
在进行处理的过程中先对用户整体的需求分析做调查整理,进行BPMN建模分析,再通过细分对具体的信息进行分析建立数据库模型。
1.5.4算法分析
就是数据的处理过程中肯呢个有些数据需要用到书法,比如说erp中的经济批量。
1.6信息之间有什么关系
1.6.1联系及类型分析
联系:
是指信息世界中实体内部或实体之间的联系。
可以分为三类:
一对一联系:
是指实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中每个实体至多与实体集A中一个实体有关系。
一对多联系:
是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。
多对多联系:
是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。
1.6.2参照和引用关系分析
分析不同关系的字段之间的联系。
若属性F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元祖在F上的值,或者取空值,或者等于S中某个元祖的主码值。
1.7对信息的质量有什么要求
1.7.1数据约束:
法律、法规、管理规章、业务规程、工作习惯、行业规范、值域范围……
约束:
是数据库中保证数据库表中数据完整性的手段。
使用的约束有:
主键约束、外键约束、唯一约束、检查约束和非空约束,其中主键约束和唯一约束都被认为是唯一约束,而外键约束被认为是参照约束。
主键约束:
保证主键列的数据没有重复值且值不为空。
外键约束:
把一个表中的数据和另外一个表中的数据进行关联,保证数据库中数据的完整性。
唯一约束:
设置表中的列不能重复,一个表中可以有多个唯一约束,但只能有一个主键约束。
检查约束:
用来指定表中列的值的取值范围。
非空约束:
用来约束表中的列不允许为空的。
1.7.2处理约束:
处理频率(周期)、响应速度、处理方式(实时、分批等)、处理地点……
在数据库SQLServer中,一般对于约束的处理方式有两种,一种是SSMS,另一种是T-SQL语句。
处理频率(周期)、响应速度、处理方式(实时、分批等)、处理地点……这些都是电脑以及软件自身的设置或者说自身的配置决定。
1.8如何描述他的工作与信息之间的关系
1.8.1概念模型
概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述。
概念的描述包括:
记号、内涵、外延,其中记号和内涵(视图)是其最具实际意义的。
数据库概念模型实际上是现实世界到机器世界的一个中间层次。
数据库概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
建立数据概念模型,就是从数据的观点出发,观察系统中数据的采集、传输、处理、存储、输出等,经过分析、总结之后建立起来的一个逻辑模型,它主要是用于描述系统中数据的各种状态。
这个模型不关心具体的实现方式(例如如何存储)和细节,而是主要关心数据在系统中的各个处理阶段的状态。
实际上,数据流图也是一种数据概念模型。
1.8.2方法:
自底向上
1.9如何用数据模型来描述概念模型
1.9.1关系模型
关系模型:
用二维表的形式表示实体和实体间联系的数据模型关系数据结构单一的数据结构——关系
现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。
关系操作集合
常用的关系操作包括查询操作和插入、删除、修改操作两大部分。
其中查询操作的表达能力最重要,包括:
选择、投影、连接、除、并、交、差等。
关系模型中的关系操作能力早期通常是用代数方法或逻辑方法来表示,分别称为关系代数和关系演算。
关系代数是用对关系的代数运算来表达查询要求的方式;关系演算是用谓词来表达查询要求的方式。
另外还有一种介于关系代数和关系演算的语言称为结构化查询语言,简称SQL。
关系的数据完整性包括:
域完整性、实体完整性、参照完整性和用户自定义的完整性。
1.9.2关系规范化
即:
属性唯一,记录唯一,表唯一
第一范式(1NF):
数据库表中的字段都是单一属性的,不可再分。
这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。
第二范式(2NF):
数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。
第三范式(3NF):
在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。
所谓传递函数依赖,指的是如果存在"A→B→C"的决定关系,则C传递函数依赖于A。
因此,满足第三范式的数据库表应该不存在如下依赖关系:
关键字段→非关键字段x→非关键字段y
1.10用什么数据库管理系统实现数据模型的操作
DBMS:
SQLSERVER2005/2008/2012
第二部分:
如何实施数据库?
(应用编程能力、操作和管理技能培养)
1.11如何存储数据
1.11.1存放的地点、名称、如何分组、需要多大空间、如何管理数据库的扩张、收缩、分离、附加、转移
存放:
一个数据库至少包含两个文件,一个是用来存储数据的文件,包含数据和对象,如表、索引、存储过程和视图等,称为数据文件,扩展名是“mdf”。
另一个是用来存储日志的文件,包含恢复数据时所有事务所需的信息,称为日志文件,扩展名是”ldf”。
分离数据库:
就是把数据库中原有的数据库从当前的数据库中分离出来,也就是断开数据库与服务器的连接。
附加数据库:
分离数据库之后,需要再次使用的时候,可以再将它附加到SQLServer上。
转移数据库:
就是将一个系统中的数据库转移到另一个系统的数据库中。
1.11.2相关命令、函数、系统存储过程有哪些
操作过程:
存放:
1)启动SQLServer,连接到本地数据库默认实例;2)在【对象资源管理器】窗格中选择【数据库实例】|【数据库】选项,并右击【数据库】,在弹出的快捷菜单中选择【新建数据库】;3)打开【新建数据库】对话框的【常规】选项页,可在里面设置文件组、初始大小、自动增长、路径等。
分离数据库:
1)启动SQLServer,连接到本地数据库默认实例;2)在【对象资源管理器】窗格里,展开树形目录,定位到要分离的数据库。
右击该数据库,在弹出的快捷菜单中选择【任务】|【分离】。
3)在【分离数据库】对话框里,如果【状态】列显示的是【就绪】,则代表可以正常分离,单击【确定】。
即可完成分离操作。
附加数据库:
1)启动SQLServer,连接到本地数据库默认实例;2)在【对象资源管理器】窗格里,展开树形目录,定位到【数据库】。
右击【数据库】,在弹出的快捷菜单中选择【附加】。
3)在【附加数据库】对话框里,单击【添加】按钮,出现【定位数据库文件】对话框,选择要附加的数据文件,单击【确定】按钮。
转移数据库:
将要复制的数据库两个物理文件(mdf、log)拷贝到目的地。
1.12如何组织数据(逻辑组织和物理组织)
1.12.1基本表
基本表的定义指建立基本关系模式。
基本表是本身独立存在的表,在SQL中的一个关系对应一个基本表。
一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。
1.12.2索引
建立索引是加快表的查询速度的有效手段,在基本表上建立一个或多个索引,以提供多种存储路径,加快查找速度。
1.12.3视图
视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
视图是从一个或几个基本表(或视图)导出的表,是一个虚表。
数据库中纸存放视图的定义,而不放视图对应的的数据。
视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。
1.13如何保证数据的质量
1.13.1实体完整性
实体就是客观存在并且可以相互区别的事物。
一个基本规则通常对应现实世界的一个实体集。
实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。
1.13.2域完整性
域即是属性的取值范围。
域完整性是任何属性只能取其域中的值。
1.13.3参照完整性
参照完整性规则就是定义外码和主码之间的引用规则。
定义:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R和S不一定是不同关系),则对于R中的每个元组在F上的值必须为:
或者取空值(F中每个属性值均为空值),或者等于S中某个元祖的主码值。
1.13.4用户定义完整性
用户定义的完整性就是针对某一个具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
例如,某个属性必须取唯一值、某个非主属性也不能取空值、某个属性的取值范围在0~100之间等。
1.14如何对数据进行维护
1.14.1插入数据
建表的方法有两种,分别为通过SSMS实现和通过SQL语句(CREATETABLE)实现。
在建好表的结构之后,便可以向表结构中插入数据,方法也有两种,通过SSMS实现和通过SQL语句实现。
通过SQL语句来实现向表结构中插入数据,插入语句INSERT通常有两种形式,一种是插入一个元组,另一种是插入子查询结果,后者可以一次插入多个元组。
语句如下:
一、插入单个元组:
INSERT
INTO<表名>[(<属性列1>[,<属性列2>…)]
VALUES(<常量1>[,<常量2>]…);
1.14.2修改数据
修改操作又称为更新操作,其语句的一般格式为,即语法:
UPDATE<表名>
SET<列名>=<表达式>[,<列名>=<表达式>]…
[WHERE<条件>];
其功能是修改指定表中满足WHERE子句条件的元组。
其中SET子句用于指定修改方法,即用<表达式>的值取代相应的属性列值。
如果省略WHERE子句,则表示要修改表中所有数据。
1.14.3删除数据
删除语句的一般格式为
DELETE
FROM<表名>
[WHERE<条件>];
DELETE语句的功能是从指定表中删除满足WHERE子句条件的所有元组。
如果省略WHERE子句,表示删除表中全部元组。
1.15如何查找用户所需的数据
1.15.1简单查找
简单查询包括单表查询,是指仅涉及一个数据库表的查询,比如选择一个表中的某些列值、选择一个表中的某些特定行等。
单表查询是一种最简单的查询操作。
1.15.2高级查找
包括连接查询和嵌套查询。
若一个查询同时涉及两个以上的表,则称之为连接查询。
主要包括等值连接查询、非等值连接查询、自身连接查询、外连接查询、复合条件连接查询。
1.16如何帮助用户处理数据,辅助和支持用户工作?
1.17(辅助管理:
预测、决策、计划、领导、管理、控制、协调、调度……)
1.17.1
模型化
游标
是对查询出来的结果集作为一个单元来有效的处理。
游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。
可以对结果集当前行做修改。
一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。
1.17.2事务
事务在数据库中主要用于保证数据的一致性,防止出现错误数据。
事务就是组中包含1条或多条语句的逻辑单元,每个事务都是一个原子单位,在事务中的语句被作为一个整体,要么一起被提交,作用在数据库上,使数据库数据永久修改;要么撤销,对数据库不做任何的修改。
事务的基本控制语句:
BEGINTRANSACTION:
表示本地事务的开始;
BEGINDISTRIBUTEDTRANSACTION:
表示指定一个由Microsoft分布式事务处理协调器管理的T-SQL分布式事务的起始;
COMMITTRANSACTION事务的提交;
ROLLBACKTRANSACTION:
事务的回滚;
SAVETRANSACTION:
表示设置保存点。
1.17.3并发控制和锁
并发访问数据时,如果不加以控制,那么修改的数据将有可能影响到同一时间读取或修改相同数据的其他用户。
不加并发控制的数据存储系统,将有可能发生丢失更新数据、脏读、非重复读和幻想读。
锁定是数据库引擎为了避免数据出现异常而限制多个用户在同一时间访问相同数据块的一种机制。
锁定机制是通过锁(LOCK)来实现的。
当对一个数据源加锁后,此数据源就有了一定的访问限制,也就是对此数据源进行了锁定。
1.17.4存储过程
存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
1.17.5触发器
触发器是SQLserver提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。
触发器经常用于加强数据的完整性约束和业务规则等。
触发器可以从DBA_TRIGGERS,USER_TRIGGERS数据字典中查到。
SQL3的触发器是一个能由系统自动执行对数据库修改的语句。
触发器可以查询其他表,而且可以包含复杂的SQL语句。
它们主要用于强制服从复杂的业务规则或要求。
例如:
您可以根据客户当前的帐户状态,控制是否允许插入新订单。
触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。
然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。
如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。
1.17.6自定义函数
除了使用系统提供的函数外,用户还可以根据需要自定义函数。
用户自定义函数是SQLServer2000新增的数据库对象,是SQLServer的一大改进。
与编程语言中的函数类似,MicrosoftSQLServer用户定义函数是接受参数、执行操作(例如复杂计算)并将操作结果以值的形式返回的例程。
返回值可以是单个标量值或表变量结果集。
用户自定义函数不能用于执行一系列改变数据库状态的操作,但它可以像系统函数一样在查询或存储过程等的程序段中使用,也可以像存储过程一样通过EXECUTE命令来执行。
在SQLServer中根据函数返回值形式的不同将用户自定义函数分为三种类型:
(1)标量函数
(2)内联表值函数(3)多语句表值函数
1.18如何保证数据的安全
1.18.1登录账户管理
使用CREATELOGIN创建登录名
CREATELOGINtestuser1
WITHPASSWORD='abcdefg',
CHECK_POLICY=OFF--不启用Windows密码策略
GO
CREATELOGIN[MS-ZY\SQLAdmin]
FROMWINDOWS--基于Windows认证
GO
1.18.2用户管理
--创建登录名和同名用户
CREATELOGINtestuser1--创建登录名
WITHPASSWORD='p@ssw0rd!
';--指定密码
GO
USEAdventureWorks;
CREATEUSERtestuser1;--创建用户
GO
--创建登录名和不同名的用户
CREATELOGINtestuser2
WITHPASSWORD='p@ssw0rd!
';
GO
USEAdventureWorks;
CREATEUSERtest2
FORLOGINtestuser2--必须指定对应的登录名
GO
1.18.3架构管理
创建架构
USEAdventureWorks;
GO
CREATESCHEMAt1
AUTHORIZATIONtest1--架构的拥有者为test1用户
使用ALTERSCHEMA修改架构
USE[AdventureWorks]
GO
CREATETABLE--在dbo架构中创建表Student
(sIDintIDENTITYPRIMARYKEY,
sNamenvarchar(10)NOTNULL)
GO
ALTERSCHEMAt1--修改架构,将该表的架构由dbo改为t1
TRANSFER
GO
--修改架构的所有者
ALTERAUTHORIZATIONONSCHEMA:
:
[t1]TO[test2]
1.18.4权限管理
-SQLServer登录名:
testuser1
--数据库AdventureWorks中对应的用户名:
test1
--将表的SELECT权限授予用户test1
USEAdventureWorks;
GRANTSELECTON--授予SELECT权限
TOtest1
--将存储过程GetDeparment的执行权授予用户test1
USEAdventureWorks;
GRANTEXECUTEON--授予执行权限
TOtest1
1.18.5身份认证
SQLServer支持Windows身份验证模式和混合模式两种身份验证模式。
这两种身份验证模式的区别有:
(1)Windows身份验证模式
只进行Windows身份验证。
用户不能指定SQLServer2000登录ID。
这是SQLServer2000的默认身份验证模式。
不能为在Windows98上运行的SQLServer实例指定Windows身份验证模式,因为此操作系统不支持Windows身份验证。
(2)混合模式
如果用户在登录时提供了SQLServer2000登录ID,则系统将使用SQLServer身份验证对其进行验证。
如果没有提供SQLServer2000登录ID或请求Windows身份验证,则使用Windows身份验证对其进行身份验证。
这些模式在安装过程中指定或使用SQLServer企业管理器指定
1.18.6数据加密
数据加密又称密码学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。
数据加密目前仍是计算机系统对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 知识 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)