第一篇:【数据库知识点总结】
数据库概念总结
第一章 绪论
1、数据:描述事物的符号记录称为数据。可以是数字也可以是文字、图形、图像声音、语言等。
2、数据库:是长期储存在计算机内、有组织的、可共享的大量数据的集合。具有永久存储、有组织和可共享三个基本特点。
3、数据库管理系统:位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据,高效地获取和维护数据。
4、数据库管理系统主要功能:数据定义功能、数据组织存储和管理、数据操纵功能、数据库的事务管理和运行管理、数据库的建立和维护功能、其他。
5、数据库系统:是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
特点:数据结构化(与文件系统的本质区别)、数据的共享性高,冗余度低,易扩充、数据独立性高(通过三级模式和二级映像功能来保证)、数据由DBMS统一管理和控制
6、DBMS须提供以下几方面的数据控制功能:数据的安全性保护、数据的完整性检查、并发控制、数据库恢复。
7、数据管理技术的发展过程:人工管理阶段、文件系统阶段、数据库系统阶段
8、数据库的体系结构为三级结构,它们是存储层、概念层和外部层。
9、在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲,数据模型就是现实世界的模拟。
两类数据模型:概念模型、逻辑模型和物理模型。
10、数据模型的组成要素:数据结构、数据操作、数据的完整性约束条件。
11、模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式/模式映像:保证了数据的逻辑独立性 模式/ 内模式映像:保证了数据的物理独立性。
12、什么是数据库的逻辑独立性?物理独立性?为什么数据库系统具有数据与程序的独立性?
逻辑独立性是指用户的用程序与数据库的逻辑结构是相互独立的,使得当数据的逻辑结构变了,用户程序可以不变。物理独立性是指用户的应用程序与存储在磁盘上的数据是相互独立的,使得当数据的物理结构改变了,应用程序也可以不变。数据库系统的三级模式是对数据的三个抽象级别,将数据的具体组织留给DBMS 管理,使用户能逻辑地组织数据,而不必关心数据在计算机上的具体表示方式和存储方式。为了能够在内部实现三个抽象层次的联系和转换,数据库系统在三级模式之间提供了两级映像:外模式/模式映像、模式/ 内模式映,保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
13、数据库系统的组成:硬件平台及数据库,软件,人员
人员:数据库管理员,系统分析员和数据库设计人员,应用程序员,最终用户
数据库管理员:决定数据库中的信息内容和结构,决定数据库的存储结构和存取策略,定义数据的安全性要求和完整性约束条件,监控数据库的使用和运行,数据库的改进和重组重构
第二章 关系数据库
1、关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。
2、选择、投影、并、差、笛卡尔积是5 种基本操作。
3、专门的关系运算包括选择、投影、连接、除运算等。
第三章 SQL
1、SQL 特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供多种使用方式、语言简洁,易学易用。
2、聚集函数:COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<列名>)SUM([DISTINCT|ALL]<列名>)AVG([DISTINCT|ALL]<列名>)MAX([DISTINCT|ALL]<列名>)MIN([DISTINCT|ALL]<列名>)
3、视图的作用:
1、能够简化用户的操作
2、使用户能以多种角度看待同一数据
3、对重构数据库提供了一定程度的逻辑独立性
4、能够对机密数据提供安全保护
5、适当的利用视图可以更清晰的表达查询
4、WHERE 子句与HAVING 短语的区别在于作用对象不同。前者作用于基本表或视图,从中选择满足条件的元组。后者作用于组,从中选择满足条件的组。
5、=ANY 等价于IN 谓词, 第四章 数据库安全性 1、数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改或破坏。 2、计算机系统的三类安全性问题:技术安全、管理安全、政策法律。 3、常用的安全技术有:1.用户识别和鉴别2.存取控制机制3.自主存取控制4.强制存取控制(MAC)5.视图机制。6.审计(Audit)功能7.数据加密 4、视图的好处:简化用户操作、使用户能以多种角度看待同一数据、对重构数据库提供了一定程度的逻辑独立性、对机密数据提供安全保护、适当利用可以更清晰的表达查询。 5、实现数据库系统安全性的技术和方法 — 最重要的是存取控制技术、视图技术和审计技术 第五章 数据库完整性 1、数据库完整性是指数据的正确性和相容性。 2、数据的完整为了防止数据库中存在不符合语义的数据,即防止数据库中存在不正确的数据。安全性是保护数据库防止恶意的破坏和非法的存取。因此数据完整性防范的是合法用户的无意操作导致的数据错误,数据安全性防范的是非法用户的恶意操作导致的数据错误。 3、实体完整性:若属性(指一个或一组属性)A 是基本关系R 的主属性,则A 不能取空值。 4、参照完整性:若属性(或属性组)F 是基本关系R 的外码,它与基本关系S 的主码K 相对应(基本关系R 和S 不一定是不同的关系),则对于R 中每个元组在F 上的值必须为: 或者取空值(F 的每个属性值均为空值); 或者等于S 中某个元组的主码值。 5、触发器是用户定义在关系表上的一类由事件驱动的特殊过程。 6、在参照完整性中,为什么外码的属性值也可以为空?什么时候可以为空? 若F 是基本关系R 的外码,它与基本关系S 的主码K,相对应(基本关系R 和S 不一定是不同的关系)则对于R 中每个元组在F 上的值可以取空值,或者等于S 中某个元组的主码值。即,如果F 本身不是一个主属性,则能取空值,否则不能取空值。 第六章 关系数据理论 1、数据依赖是一个关系内部属性与属性之间的一种约束关系。 2、函数依赖:设R(U)是属性集U上的关系模式。X,Y 是U 的子集。若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称X 函数确定Y 或Y 函数依赖于X,记作X →Y。 3、多值依赖:设R(U)是属性集U 上的一个关系模式。X,Y,Z 是U 的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y 的值,这组值仅仅决定于x 值而与z 值无关。4、1NF:每一个分量必须是不可分的数据项。2NF:R ∈1NF,且每一个非主属性完全依赖于码 3NF:关系模式R中若不存在这样的码X,属性组Y 及非主属性 Z(ZY)使得XY,YZ 成立,YX,则称R3NF。 BCNF:关系模式R ∈1NF。XY 且YX 时X 必含有码,则称RBCNF。4NF :关系模式 R ∈1NF,如果对于R 的每个非多值依赖X Y(YX),X 都含有码,则称R4NF。 5、规范化小结:1NF—2NF 消除非主属性对码的部分函数依赖 ——3NF 消除非主属性对码的传递函数依赖—BCNF消除主属性对码的部分和传递函数依赖—4NF 消除非平凡且非函数依赖的多值依赖。 第七章 数据库设计 1、数据库设计定义:对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统使之能够有效地存储和管理数据,满足各种用户应用需求,包括信息管理要求和数据操作要求。 2、特点:三分技术,七分管理,十二分基础数据。结构(数据)设计和行为(处理)设计相结合。 3、基本步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。 4、需求分析阶段任务:信息要求、处理要求、安全性与完整性要求。 5、需求分析阶段:综合各个用户的应用需求 概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,形成数据库逻辑模式;再建立必要的视图,形成数据的外模式 物理设计阶段:进行物理存储安排,建立索引,形成数据库内模式 6、数据字典:系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。通常包括数据项、数据流、数据存储和处理 5 部分。数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。 7、概念结构设计方法:自顶向下、自底向上、逐步扩张、混合策略。 8、确定数据库物理结构:确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构。确定系统配置。 第八章 数据库编程 1、游标是系统为用户开设的一个数据缓冲区,存放SQL 语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理。 2、嵌入式SQL语句与主语言之间的通信:向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程,主要用SQL通信区(SQLCA)实现。主语言向SQL语句提供参数,主要用主变量实现。将SQL语句查询数据库的结果交主语言处理,主要用主变量和游标实现。 3、存储过程是由PL/SQL 语句书写的过程,这个经编译和优化后存储在数据库服务器中,因此称它为存储过程,使用时只要调用即可。优点:运行效率高、降低了客户机和服务器之间的通信量、有利于集中控制,方便维护。 4、ODBC的工作流程:配置数据源,初始化环境,建立连接,分配语句句柄,执行SQL语句,结果集处理,中止 第九章 关系查询处理和查询优化 1、查询处理步骤:查询分析 对查询语句进行扫描、词法分析和语法分析。 查询检查 根据数据字典对合法的查询语句进行语义检查根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查 查询优化 选择一个高效执行的查询处理策略 查询执行 依据优化器得到的执行策略生成查询计划,由代码生成器生成执行这个查询计 划的代码。 2、连接操作的实现 嵌套循环方法 排序-合并方法 索引连接方法 Hash Join方法 3、查询优化的总目标 是选择有效的策略,求得给定关系表达式的值,使得查询代价最小(实际上是较小)。 第十章 数据库恢复技术 1、事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。特性:原子性、一致性、隔离性、持续性。 2、故障种类:事务内部故障、系统故障、介质故障、计算机病毒 3、数据转储是数据库恢复中采用的基本技术即DBA 定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 4、日志文件是用来记录事务对数据库的更新操作的文件。主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。 5、数据库镜像即根据DBA 的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上。 第十一章 并发控制 1、并发控制机制的任务:对并发操作进行正确调度,保证事务的隔离性,保证数据库的一致性 2、并发操作带来的数据不一致性主要包括丢失修改、不可重复读和读“脏”数据等。 3、封锁就是事务T 在对某个数据对象操作之前,先向系统发出请求,对其加锁。基本的封锁类型在两种:排它锁(X 锁,写锁)和共享锁(S 锁,读锁)。 4、预防死锁的方法:一次封锁法,顺序封锁法 死锁的诊断与解除 超时法 等待图法 5、可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。 6、两段锁协议是指事务必须分两个阶段对数据项加锁和解锁。在对任何数据进行读、写操作之前,首先要申请该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁.7、封锁对象的大小称为封锁粒度。 8、选择封锁粒度的原则:需要处理多个关系的大量元组的用户事务:以数据库为封锁单位; 需要处理大量元组的用户事务:以关系为封锁单元; 只处理少量元组的用户事务:以元组为封锁单位 文件处理系统存在问题:数据的冗余和不一致,数据访问困难,数据孤立,完整性问题,原子性问题,并发访问异常,安全性问题 数据库三级抽象物理层:最低层次的抽象,描述数据实际上是怎样存储的。逻辑层:比物理层层次稍高的抽象,描述数据库中存储什么数据及这些数据间存在什么关系。视图层:最高层次的抽象,只描述整个数据库的某个部分 数据操纵语言DML:使用户可以访问或操作那些按其某种适当的数据模型组织起来的数据。过程化DML:要求用户指定需要什么数据以及如何获得这些数据。非过程化DML:只要求用户指定需要什么数据,而不指明如何获得这些数据 事务状态图 活动状态:初始状态;事务执行时处于这个状态。部分提交状态:最后一条语句执行后。失败状态:发现正常的执行不能继续之后。中止状态:事务回滚并且数据库已恢复到事务开始执行前的状态之后。提交状态:成功完成后 事务进入中止状态,系统有两种选择:重启事务:事务中止是硬件错误或不是由事务的内部逻辑产生的软件错误时。杀死事务:事务的内部逻辑错误,或者由于输入错误,或所需数据在数据库中没有找到 可恢复调度:对于每对事务 1.constraint约束: alter table [table_name] add constraint [pk_name] primary key(pkname);//添加主键 alter table [table_name] drop constraint [pk_name];//删除主键 alter table [table_name] add constraint [fk_name] foreign key(fkname)references [tablename](fkname);//添加外 键 alter table [table_name] drop constraint [fk_name];//删除外键 2.union 关键字: A username, B username rod bruce rose marina select username from A union select username from B 2、几个高级查询运算词 A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来 自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 3.复合主键一般不设外键 4.组函数也称为聚合函数。 例如:我们把学生可以分为男生和女生两个组,如果想求每组的人数,平均身高,平均年龄等,就需要用到分组函数了。 在SQL中常用的组函数有以下几个: COUNT():求出全部的记录数 MAX():求出一组中的最大值 MIN():求出一组中的最小值 AVG():求出一组中的平均值 SUM():求和 范例:COUNT()函数 SELECT COUNT(empno)FROM emp; 我们常用COUNT(*),最好能够用字段代替* 范例:MAX()、MIN()函数,求最大最小值,一般是针对于数值的字段的,求出所有员工的的最高工资,和最底工资和平均工 资。 SELECT MAX(sal)最高工资,MIN(sal)最底工资,AVG(sal)平均工资 FROM emp; 范例:求出部门10的所有员工工资的总合 SELECT SUM(sal)工资综合 FROM emp WHERE deptno=10; 如果如下查询输出部门编号和其部门所有员工的工资总和,会产生错误。 SELECT deptno ,SUM(sal)工资综合 FROM emp WHERE deptno=10; 错误: “不是单组分组函数” 发生以上的错误信息,是因为这样的查询需要进行分组统计。 分组统计有其固定的语法格式: SELECT {DISTINCT} *| 查询列 列别名1,查询列2 列别名2,…… FROM 表名称1 表别名1,表名称2 表别名2,…… {WHERE 条件(s)} {ORDER BY 排序的字段1,排序的字段2 ASC|DESC} {GROUP BY 分组字段} 所以老师写的是错的! 5.//从t_student表中删除名字重复的记录的信息 delete from t_student where sid not in(select sid from(select min(sid)sid,sname from t_student group by sname)); // delete from tablename where id not in(select max(id)from tablename group by col1,col2,...) 6.sequence 在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 (1) CREATE SEQUENCE seqTest INCREMENT BY 1--每次加几个 START WITH 1--从1开始计数 NOMAXvalue--不设置最大值 NOCYCLE--一直累加,不循环 CACHE 10;--设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为----NOCACHE(2) 定义好sequence后,你就可以用currVal,nextVal取得值。 CurrVal:返回 sequence的当前值 NextVal:增加sequence的值,然后返回 增加后sequence值 eg: SELECT Sequence名称.CurrVal FROM DUAL; select seqtest.currval from dual(3) 在Sql语句中可以使用sequence的地方: -不包含子查询、snapshot、VIEW的 SELECT 语句 -INSERT语句的子查询中 -INSERT语句的values中 -UPDATE 的 SET中 如在插入语句中 insert into 表名(id,name)values(seqtest.Nextval,'sequence 插入测试'); 7.范式: 所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一 列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分 为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式 就是无重复的域。 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。 第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能区分每个实体的属性或属性组,作 为实体的唯一标识。第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一 部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一 对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是在第一范式的基础上属性完全依赖于主键。例如在员工表中的身份证号码即可实现每个一员工的区分,该身份证号码即为候选键,任何 一个候选键都可以被选作主键。在找不到候选键时,可额外增加属性以实现区分,如果在员工关系中,没有对其身份证号 进行存储,而姓名可能会在数据库运行的某个时间重复,无法区分出实体时,设计辟如ID等不重复的编号以实现区分,被 添加的编号或ID选作主键。 第三范式(3NF)是第二范式(2NF)的一个子集,即满足第三范式(3NF)必须满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个关系中不包含已在其它关系已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门 有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简 介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有 大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性,也就是在满足2NF的基础上,任何非主属性不得传 递依赖于主属性。 《黄色填充区域是不确定区域 需要在找找》 1.数据库有什么特点? 主要特点(1)实现数据共享。(2)减少数据的冗余度。(3)数据的独立性。(4)数据实现集中控制。(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用; ②完整性控制:保证数据的正确性、有效性和相容性; ③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用; ④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏(6)故障恢复。由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。 2.数据库系统是数据库、数据库管理系统、硬件、操作人员的合在一起的总称 数据库管理系统,用来管理数据及数据库的系统。数据库系统包含数据库管理系统、数据库及数据库开发工具所开发的软件(数据库应用系统)。 3.内模式 内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 4.外模式也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 5.数据模型的三要素:数据结构、数据操作及完整性约束条件 1):数据结构,就是前面说的数据在数据区中的存储结构,在关系模型中就是采用的关系模型了,就是“二维表”的形式 2):数据操作,指的是对数据的一些操作,包括查询、删除、更新、插入等等 3):数据的完整性约束:就是对所存数据的约束规则,有实体完整性、参照完整性等等,就是取值唯 一、不能为空等一系列操作 6.E-R图即实体-联系图(Entity Relationship Diagram),是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。 7.ER图的基本要素:实体(即数据对象)、关系和属性 8.概念数据模型是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象。基本数据模型是按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现(层次模型,网状模型,关系模型)(1)可以定制生成标准的模型报告;(2)可以转换为面向对象模型(OOM); (3)完成多种数据库的详细物理设计(涵盖常用的各种数据库的DBMS),并生成数据库对象的.sql脚本; 9.数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。 →:数据流(流动的数据,有流向) □:外部实体(不同于数据库实体,指人,物,部门,科室,单位等)○:数据处理(对数据的加工,是对数据进行处理的单元,指功能模块,能做什么)〒:数据存储 (信息的静态存储) 10.数据字典(Data Dictionary,DD)各类数据描述的集合,它是关于数据库中数据的描述,即元数据。 通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。11.主键和外键的关系(案例题) 12.用T-SQL语句如何创建表 如何删除表 ppt 6-2 13.笛卡尔积(Cartesian Product)通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合。 设:关系R为m列(m 个属性),k1行(k1个元组); 关系S为n列(n个属性),k2行(k2个元组)。 公式:R×S={tRtS │tR ∈R ∧ tS ∈S } 语义:笛卡尔积仍是一个关系,该关系的结构是R和S结构之连接,即前m 个属性来自R,后n个属性来自S,该关系的值是由R中的每个元组连接S中的每个元组所构成元组的集合。 注意:新关系的属性个数等于m+n,元组个数等于k1*k2。 14.投影(Projection) 设:t是关系R中的一个元组,A是要从R中投影出的属性子集。 公式:∏A(R)={ t.A│t ∈R } 语义:从关系R中按所需顺序选取若干个属性构成新关系。 注意:新关系的元组数小于等于原关系的元组数,新关系的属性数不多于原关系中的属性数。 ∏是希腊字母,即π的大写形式,在数学中表示求积运算或直积运算,形式上类似于Σ,有时也用来代表圆周率值,即读作/pai/ 15.连接(Join) 设:A,B分别是关系R和S中的属性,t是连接关系中的一个元组。 公式: 语义:两个关系R和S按相应属性值的比较条件连接起来,生成一个新关系,也称为θ连接。 • 等值连接 – R×S+选择(θ为=) – 按照两关系中对应属性值相等的条件所进行的连接 • 自然连接 – 等值连接+去重复属性 – 记作:R S 16.第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。第二范式(2NF):如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R 是属于第二范式的。 第三范式(3NF):如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的。 17.字符串的定界符可以用单引号,双引号,和方括号,18.LEN 返回文本串的字符数.left:返回从字符串左边开始指定个数的字符 19.索引的特点:有效组织表数据的方式它由表中一列或多列按照一定的排列顺序组成。、用户可以通过合理地创建索引大大提高数据库的查找速度 索引也可以保证列的唯一性,从而确保表中数据的完整性 索引中包含键值,这些键值存储在一种数据结构(B-树)中,通过键值可以快速地找到与键值相关的数据记录 索引创建原则:经常被查询的列 需要排序的列 外键或主键列 值唯一的列 在下列情况下不适合建立索引。在查询中很少被引用的列。 包含太多重复值的列。 数据类型为bit、varchar(max)、varbinary(max)等的列不能建立索引。 20.聚簇索引的特点:聚簇索引确定表中数据的物理顺序。聚簇索引类似于电话簿,后者按姓氏排列数据。由于聚簇索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚簇索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。汉语字典也是聚簇索引的典型应用,在汉语字典里,索引项是字母+声调,字典正文也是按照先字母再声调的顺序排列。 聚簇索引对于那些经常要搜索范围值的列特别有效。使用聚簇索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚簇(物理排序),避免每次查询该列时都进行排序,从而节省成本。聚集索引根据键值的大小对行进行物理排序,所以每个表只能有一个聚集索引。 21.alter table 修改表 Update 更新表 为数据表创建索引的目的:a 提高查询检索的性能 23;创建索引的两种方法:在【新建索引】窗口中创建索引(1 用索引创建向导创建索引;2 直接创建索引) 使用SSMS创建索引 使用T-SQL创建表的索引 24一对一关联:在一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。25:什么是数据表:一个数据库中可能包含若干个数据表。 数据表是数据库中一个非常重要的对象,是其他对象的基础。没有数据表,关键字、主键、索引等也就无从谈起。在数据库画板中可以显示数据库中的所有数据表(即使不是用PowerBuilder创建的表),创建数据表,修改表的定义等数据表是数据库中一个非常重要的对象,是其他对象的基础。 数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。根据信息的分类情况,一个数据库中可能包含若干个数据表。26;sql: 结构化查询语言(Structured Query Language)” 其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 语言特点:一体化 使用反式灵活 非过程化 语言简洁 语法简单 好学好用 27:交叉连接查询:交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数 据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等 于6*8=48行。 28;什么情况下应该尽量创建索引:数据量大(建议分区)、数据插入删除不是太频繁、又需要经常按某些字段进行条件检索的表。在一个或者一些字段需要频繁用作查询条件,并且表数据较多的时候,创建索引会明显提高查询速度,因为可由全表扫描改成索引扫描。(无索引时全表扫描也就是要逐条扫描全部记录,直到找完符合条件的,索引扫描可以直接定位)索引并不是越多越好,太多索引会占用很多的索引表空间,甚至比存储一条记录更多。对于需要频繁新增记录的表,最好不要创建索引,没有索引的表,执行insert、append都很快,有了索引以后,会多一个维护索引的操作,一些大表可能导致insert 速度非常慢 29:sql sever 中的数据类型 SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型 30:关系数据库中的投影操作是指从关系中。A.去掉若干属性列组成新的关系 B.选择出若干属性列组成新的关系 C.去掉满足条件的诸元组 D.选择满足条件的诸元组(A 抽出特定的记录 B抽出特定的字段 C建立相应的影像 D建立相应的视图)31:关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优点? A.结构简单 B.适用于集合操作 C.有标准语言 D.可表示复杂的语义 正确答案:D 解析:关系模型由关系数据结构、关系操作集合和关系完整性约束3大要素组成。关系模型的数据结构单一,在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。关系代数、元组关系演算和域关系演算均是抽象的查询语言这些抽象的语言与具体的DBMS中实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能力的标准或基础。数据库的数据完整性是指数据库中数据的正确性和相容性,那是一种语义概念,包括两个主要方面:与现实世界中应用需求的数据的相容性和正确性。数据库内数据之间的相容性和正确性。32数据库概念模型应具备(特点。Ⅰ.丰富的语言表达能力 Ⅱ.易于交流和理解 Ⅲ.易于变动 Ⅳ.易于向各种数据模型转换 A.Ⅰ和Ⅱ B.Ⅰ、Ⅱ、Ⅲ C.Ⅱ、Ⅲ、Ⅳ D.全是 正确答案:D 概念模型应具有较强的语义表达能力,简单,清晰,易于用户理解。易于项其他数据模型转换 (相关知识)组织、存储和管理数据的仓库 32关系数据库的规范化理论指出,关系数据库中的关系应满足一定的要求,最起码的要求是达到1NF,既满足()。A: 主关键字唯一标识表中的每一行 B: 关系中的行不允许重复 C: 每个非关键字列都完全依赖于主关键字 D: 每个属性都有是不可再分的基本数据项 33关系数据库管理系统能实现的专门关系运算包括。A.排序、索引、统计 B.选择、投影、连接C.关联、更新、排序 D.显示、打印、制表 34.概念结构设计阶段得到的结果是______。A、包括存储结构和存取方法的物理结构 B、某个DBMS所支持的数据模型 C、E-R图表示的概念模型 D、数据字典描述的数据需求 35数据库需求分析阶段的主要任务:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,手机支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。 用户需求分析阶段的主要工作包括2方面:可行性分析 成本(资源)分析 哪个不是DBA数据库管理员的职责 A完整性约束说明 B定义数据库模式 C数据库安全 D数据库管理系统设计 下列工作中,不属于数据库管理员DBA的职责是()。A.建立数据库 B.输入和存储数据库数据 C.监督和控制数据库的使用 D.数据库的维护和改进 以下是公认的DBA职责: 1、监视数据库。 2、记录和统计系统和性能的表现技术信息。 3、构造数据库框架、配置数据库实例。 4、维护数据库网络安全,过滤非法查询信息。 5、及时备份数据库 6、利用备份,还原数据库,甚至是迁移数据库。 7、为开发人员定制、配置专用的测试服务器。 8、数据库技术最新的研发方向。 9、数据库调优。 10、完整熟悉数据库操作流程。 11、诊断数据库,找出数据库的不足之处和生成数据库解决方案。 12、完整培训数据库系统那个环境。 13、与系统管理员保持良好的合作关系。 14、创建有效的、定期维护的安全的数据库。37: 数据库系统的数据独立性是指,当系统数据存储结构与数据逻辑结构发生变化时,不会影响应用程序。 数据独立性包括物理独立性和逻辑独立性。物理独立性指应用程序与存储在磁盘的数据库中数据相互独立,即数据物理存储改变时应用程序不变。逻辑独立性指应用程序与数据库逻辑结构相互独立,即数据逻辑结构改变时,应用程序可以不变。 38在数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统()。 A.数据可共享 B.数据可长期保存 C.采用一定的数据模型组织数据 D.有专门的软件对数据进行管理 正确答案:C 解析:数据库采用复杂的数据模型表示数据结构;数据共享性高、冗余度小、易扩充:有较高的数据独立性;数据库系统为用户提供方便的用户接口:系统提供数据库的恢复、并发控制、数据完整性和数据安全性4个方面的数据控制功能。相对于文件系统管理数据的方式,它采用一定的数据模型来组织和管理数据。 39数据库系统有哪些特点: 数据的结构化,数据的共享性好,数据的独立性好,数据存储粒度小,数据管理系统,为用户提供了友好的接口。数据库系统的核心和基础,是数据模型,现有的数据库系统均是基于某种数据模型的。数据库系统的核心是数据库管理系统。数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。 数据库系统的主要特点有:1)实现数据共享,减少数据冗余2)采用特定的数据模型3)具有较高的数据独立性4)有统一的数据控制功能另外,数据库系统由5大部分组成:硬件系统,数据库集合,数据库管理系统及相关软件,数据库管理员和用户 40:数据库,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。 41:数据库的发展历史经历了人工管理、文件系统和数据库系统三个发展阶段。人工管理数据具有如下特点 1、数据不保存 2、数据需要由应用程序自己管理没有相应的软件系统负责数据的管理工作 3、数据不共享 4、数据不具有独立性数据的逻辑结构或物理结构发生变化后必须对应用程序做相应的修改这就进一步加重了程序员的负担。 文件系统阶段特点为 1、数据可以长期保存 2、由专门的软件即文件系统进行数据管理 使应用程序与数据之间有了一定的独程序和数据之间由软件提供的存取方法进行转换立性程序员可以不必过多地考虑物理细节将精力集中于算法。 3、数据共享性差 4、数据独立性低 数据库系统阶段特点为 1、数据结构化 2、数据的共享性好冗余度低 3、数据独立性高 4、数据由DBMS统一管理和控制 一、人工管理阶段:特点 数据的管理者:人 数据面向的对象:某一应用程序 数据的共享程度:无共享,冗余度极大 数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 数据控制能力:应用程序自己控制 二、文件系统阶段:特点 数据的管理者:文件系统 数据面向的对象:某一应用程序 数据的共享程度:共享性差,冗余度大 数据的独立性:独立性差 数据的结构化:记录内有结构,整体无结构 数据控制能力:应用程序自己控制 三、数据库系统阶段:特点 数据的管理者:数据库管理系统 数据面向的对象:整个应用系统 数据的共享程度:共享性高,冗余度小 数据的独立性:具有高度的物理独立性和逻辑独立性 数据的结构化:整体结构化,用数据模型描述 数据控制能力:由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力(其中数据独立性最高的阶段是数据库系统阶段.) 未知:1关系数据模型三要素 2物理模式 内模式 子模式 3 Identify 的使用特点 4;在数据模型中的家族关系的特点 5.sql sever 2008的系统数据库是什么 6什么是子数据表 上机操作:1、用select语句查询前十行数据、用select语句查询前20%的数据 3、用select语句查询指定列数据 4、什么是查询设计器 5、在select语句中如何使用GROUP BY 6、exists子查询语句如何使用 7、insert into 插入语句如何使用 8 update delect语法格式 9、用select语句能够进行模糊查询 –like 如何使用 10、用select语句如何使用聚合函数进行统计 汇总 分组 11、在.sql sever中如何进行自动编号设计 什么是自动编号 12、not in 的使用 any some all 的使用、select can’(*)的使用 数据库设计 概念 1.1 描述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。 1.2 数据库设计包含四部分 <1>需求分析 <2>概念结构设计 <3>逻辑结构设计 <4>物理结构设计 1.3 数据库设计的原则 <1>明白自己的系统为OLTP系统还是OLAP系统 <2>降低对数据库功能的依赖 <3>严格遵从数据库三范式 <4>适当的考虑数据分块 <5>尽量保证记录的唯一标识存在 概念结构设计 2.1 E--R图设计 E--R图分为局部E--R图和全局E--R图 E--R模型基本符号 实体的表示:长方形 联系的表示:菱形,如1: 1、1:n(m:1)、(m:n)属性的表示:椭圆形 2.2 确定实体与属性的原则: <1>能作为属性的尽量作为属性而不要划为实体 <2>作为属性的数据元素与实体之间的联系只能是1:n的联系 <3>作为属性的数据项不能再用其他属性加以描述,也不能与其他实体或属性发生联系。逻辑结构设计 3.1 概念 是将基本E--R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构的过程。 3.2 逻辑结构设计的过程分为 <1>将概念结构转换为现有DBMS支持的关系、网状或层次模型中的某一种数据模型 <2>从功能和性能要求上对转换的模型进行评价,看它是否满足用户要求 <3>对数据模型进行优化 3.3 逻辑结构设计的原则 <1>一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键; <2>一个联系转换为一个关系模式,与该联系相连的每个实体型的键以及联系的属性都转换为关系的属性。配置数据库连接 4.1 步骤 1.打开powerdesigner,依次点击:database--connect 2.点击connect,打开对话窗口: 3.然后点击Configuer按钮,弹出数据源配置Configuer Data Connections对话框: 4.把页签切换到第三个Connetion Profiles页签中,如果连接存在,选中就行,如果不存在,点击add Data Source数据库图标进行新增,弹出Connection Profile Definition对话框 此对话框中需要输入以下信息 Connection profile name: 输入数据库连接文件名,它会自动加上后缀名.dcp; Directory:数据库连接文件存放路径;可以任意; Connetction type: 选择JDBC; DBMS type : 数据库类型选择Oracle; Server name: 服务器名称;也相当于对应PL/SQL登陆页面的数据库; Database name: 数据库名字; User name: 登陆数据库名字; Password: 密码 JDBC Driver class: 驱动类;只要下拉框选择就行; JDBC Driver Jar URL: 访问的服务器路径 JDBC connection files: 驱动包;需要指向ojdbc14.jar或者其他驱动的包的按钮路径; 5.点击Test Connection 按钮进行连接测试; 测试连接是否成功;成功会弹出成功或者失败消息框,测试成功后。点击确定按钮,返回数据源配置Configuer Data Connections对话框,列表中就会多出一个.dcp文件,点击确定即可。导出数据库 5.1 步骤 导出数据库表方法如下: 1.启动PowerDesigner 2.菜单:File->Reverse Engineer->Database 出来New Physical Data Model对话框,DBMS选择ORACLE Version 10g 选项,其他可以选择默认值,点击“确定”按钮,弹出Database Reverse Engineering Options对话框: 3.然后在下拉框中选择我们之前建立的数据源文件,并再次输入数据库User ID和password,点击Connection即可连接至数据库,并得取所有的数据库对象,在此我们选择所有的Table。 PowerDesigner 6.1 描述 Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的数据库设计软件,例如PowerBuilder,Delphi,VB等相配合使缩短开发时间和使系统设计更优化。 power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。在这里,概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义;物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。导入数据库 7.1 方法 将视图切换到physical模型下,连接数据库:单击databasedatabase connection,弹出下面窗口,进行数据库的连接。 链接完成后单击toolsforward engineerschema generate,将弹出下面的窗口,单击generate,即可将物理模型导入数据库。实体 8.1 实体间的关系 实体间的三种关系: 1.标识关系(identifying relationship); 2.多对多关系(many-to-many relationship); 3.非标识关系(non-identifying relationship)。 标识关系是指把实体1中的主键作为实体2中的外键,且作为实体2的主键,非标识关系是指把实体1中的主键作为实体2中的外键,但不作为实体2的主键,8.2 概念 Erwin中的实体有两种:独立实体和依赖实体。实体被指定作为独立实体,或依赖实体,取决于其键的获得方式。独立实体由方角盒来指定,独立实体不依赖于模型中任何其它实体来标识;依赖实体被指定为圆角盒,依赖实体依存于模型中的其它实体,修改实体名 8.3 修改实体名称 方法一:单击实体名,按F2键可 以对实体名称进行修改; 方法二:右键单击欲进行修改的实体,选择Entity Properties; 8.4 方法三:双击实体修改。列的增删 方法一:右键单击所选实体Ñ≡馎tiue,在弹出的trbts窗口中添加É境蛐薷氖粜裕?方法二:单击所选实体,按tb键也可以进行添加,删除或修改操作。第二篇:数据库知识点总结
第三篇:Oracle数据库 知识点总结
第四篇:数据库复习总结知识点
第五篇:数据库设计知识点总结