第一篇:数据库总结(简答题)
数据的定义 :描述事物的符号记录
数据库的定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合
DBMS的定义:数据库管理系统(Database Management System,简称DBMS):位于用户与操作系统之间的一层数据管理软件(系统软件)。
DBMS的用途:
(1)科学地组织和存储数据(2)高效地获取和维护数据 DBMS的主要功能:
(1)数据定义功能:提供数据定义语言(DDL)定义数据库中的数据对象
(2)数据操纵功能:提供数据操纵语言(DML),实现对数据库的基本操作(查询、插入、删除和修改)。
(3)数据库的运行管理:在数据库建立、运用和维护时对数据库进行统 一控制,以保证数据的完整性、安全性、并在多用户同时使用数据库时进行并发控制,且在数据库系统发生故障后对系统进行恢复。
(4)数据库的建立和维护功能(实用程序):数据库数据批量装载、数据库转储、恢复、数据库的重组织、性能监视等
(5)数据库系统(Database System,简称DBS):指在计算机系统中引入数据库后的系统 在不引起混淆的情况下常常把数据库系统简称为数据库
数据库系统的构成(1)数据库
(2)数据库管理系统(及其开发工具)
应用系统
数据库管理员(DBA)和用户
数据管理是指对数据的组织、分类、编码、存储、检索和维护。数据管理技术的发展过程 人工管理阶段特点:
(1)数据不保存
(2)系统没有专用的软件对数据进行管理
(3)数据不共享
(4)数据不具有独立性 文件系统阶段特点:
(1)数据以文件形式长期保存(2)数据由文件系统统一管理(3)应用程序直接访问数据文件(4)数据的存取基本上以记录为单位 缺点:(1)数据冗余度大(2)数据独立性低(2)数据一致性差
数据库系统阶段特点:(1)数据共享性高、冗余少(2)数据结构化(3)数据独立性高
(4)由DBMS进行统一的数据控制功能 A)数据的安全性(security)控制 B)数据的完整性(integrity)控制 C)并发(concurrency)控制 D)数据恢复(recovery)
数据模型分成两个不同的层次:
(1)概念模型(概念层数据模型,也称信息模型):它是按用户的观点来 对数据和信息建模。
(2)数据模型(组织层数据模型):它是按计算机系统的观点对数据建模,主要用于DBMS的实现。
抽象过程---两步抽象
(1)现实世界中的客观对象抽象为概念模型;
(2)把概念模型转换为某一DBMS支持的数据模型。
数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成(7)联系(Relationship)
实体内部的联系:组成实体的各属性之间的联系。实体之间的联系:不同实体集之间的联系。(1)一对一(2)一对多(3)多对多 目前最常用的数据模型有
层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model)面向对象的数据模型(5)关系模型的优缺点 优点:
1)建立在严格的数学概念的基础上
2)数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。
3)关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作 缺点
1)存取路径对用户透明, 导致查询效率往往不如非关系数据模型 2)为提高性能,必须对用户的查询请求进行优化 三级模式结构: 外模式:是数据库中全体数据的逻辑结构和特征的描述
概念模式:是数据库用户使用的局部数据的逻辑结构和特征的描述 内模式:是数据物理结构和存储方式的描述
二级映象
(1)外模式/模式映象:定义外模式与模式之间的对应关系 用途: 保证数据的逻辑独立性
(2)模式/内模式映象:模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
用途:保证数据的物理独立性 关系数据库的规范化理论主要包括三个方面的内容: 函数信赖
范式(Normal Form)模式设计和模式分解
进行数据库的操作时,会出现以下几方面的问题: 1.数据冗余
2.插入异常 3.删除异常 4.更新异常
一个好的关系模式应该具备以下四个条件: 1.尽可能少的数据冗余 2.没有插入异常 3.没有删除异常 4.没有更新异常
1.第一范式
第一范式(First Normal Form)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。
2.第二范式
定义:如果关系模式R∈1NF,并且R中的每个非主属性都完全函数依赖于主码,则R∈2NF。存在问题:(1)数据冗余
(2)插入异常(3)删除异常(4)更新异常
之所以存在这些问题,是由于在S-L表中存在着非主属性对主码的传递依赖。3.第三范式
定义:如果R(U,F)∈2NF,并且所有非主属性都不传递依赖于主码,则 R(U,F)∈3NF。
关系模式S-L由2NF分解为3NF后,既没有非主属性对主码的部分依赖,也没有非主属性对主码的传递依赖,解决了2NF中存在的四个问题。(1)数据冗余降低(2)不存在插入异常(3)不存在删除异常(4)不存在更新异常值
4.BC范式
(BCNF)
定义:若关系模式R∈1NF,对于关系R的每个函数依赖X→Y且YX,X必含有候选码,则R∈BCNF。
即每个决定属性集都包含候选码。
关系规范化的目的:解决关系模式中存在的插入、删除、更新操作异常,数据冗余问题.关系规范化的方法:围绕函数依赖的主线,对一个关系模式进行分解,使关系从较低级范式变换到较高级范式。模式分解的准则:(1)无损连接性(2)保持函数依赖 SQL语言特点
(1)高度非过程化的语言(2)面向集合的语言(3)能以多种方式使用
(4)具有查询、操作、定义和控制四种语言一体化的特点(5)语言简洁、易学易用
SQL按其功能可分为四大部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。
(1)数据定义功能用于定义、删除和修改数据库中的对象;(2)数据查询功能用于实现查询数据的功能;
(3)数据操纵功能用于实现对数据库数据的增加、删除和修改;(4)数据控制功能用于实现控制用户对数据库的操作权限 索引:记录的关键字与其相应地址的对应表。
视图(view): 是从一个或者多个表或视图中导出的表。它与基本表不同的是:
(1)基本表(base table):独立存在的表, 基本表中的数据是存在数据库中。(2)视图是一个虚表。即视图所对应的数据不实际存放在数据库中
(3)在数据库中只存放视图的定义,不存放视图包含的数据,这些数据仍存放在原来的基本表中。
(4)基表中的数据发生变化,从视图中查询出的数据也随之改变。视图作用
(1)简化数据查询语句
(2)使用户能从多角度看到同一数据(3)提高了数据的安全性
(4)提供了一定程度的逻辑独立性
一、SQL嵌入到主语言要解决的问题 ①如何识别SQL ②数据传递
③解决SQL一次一集合的操作与主语言一次一记录操作的矛盾.用游标解决。
四、使用游标的步骤
1、说明游标
格式:exec SQL declear <游标名> cursor for
2、打开游标
格式:exec SQL open <游标名>
3、推进游标
格式:
exec SQL fetch <游标名> into <主变量1>,<主变量2>„
4、关闭游标
格式:exec SQL close <游标名>
1.什么是数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储、管理数据,满足各种用户的应用需求(信息要求和处理要求)2 ,数据库设计的内容
数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容。
一、需求分析的任务
1.详细调查现实世界要处理的对象(组织、部门、企业等)充分了解原系统工作概况(手工系统或计算机系统),明确用户的各种需求
2.确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库
3.编写需求分析说明书
(1)信息要求
(2)处理要求
(3)安全性与完整性要求 需求分析的方法
自顶向下的结构化分析方法(简称SA方法)该方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。
数据流图(Data Flow Diagram,DFD):是一种最常用的结构化分析工具,它从数据传递和加工角度,以图形的方式描述数据在系统中流动和处理的过程。
数据字典(Data Dictionary,简称DD)的用途
数据字典是系统中各类数据的详细描述的集合
进行详细的数据收集和数据分析所获得的主要结果
数据字典的内容
(1)数据结构(2)数据流(3)数据存储(4)处理过程
概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型(E-R图)逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,如关系模型,形成数据库逻辑模式与外模式。
物理结构设计:设计数据的存取方法和存储结构,是形成 数据库的内模式,如数据库文件或目录、索引等
2.概念结构设计的特点
(1)有丰富的语义表达能力。(2)易于交流和理解。
(3)易于更改
(4)易于向各种数据模型转换 3.概念结构设计的策略
(1)自低向上
(2)自顶向下(3)由里向外
(4)混合策略
4.采用E-R模型方法的概念结构设计 1)设计局部E-R模型。2)设计全局E-R模型。3)优化全局E-R模型。
将现实世界中的事物进行数据抽象 三种常用抽象方法:
(1)分类(2)概括(3)聚集 1)设计局部E-R模型
利用抽象机制对需求分析阶段收集的数据进行分析,标定局部应用中的实体、属性、码,实体间的联系,设计局部E-R图(2)设计全局E-R模型
(1)一次集成(2)逐步累积式
关键:合理消除各局部E-R图合并时产生的的冲突(1)属性(2)命名(3)结构(3)优化全局E-R模型
(1)实体个数尽可能少;
(2)实体所包含的属性尽可能少;(3)实体间联系无冗余。1.E-R模型向关系模型的转换(1)一个实体转换为一个关系模式
(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与任意n端所对应的关系模式合并。
(4)一个m:n联系转换为一个独立的关系模式,(5)三个或三个以上实体间的一个多元联系转换为一个关系模式。2.数据模型的优化
通常的两种分解方法:水平分解和垂直分解。数据库的物理设计的步骤:(1)确定数据库的物理结构
1)确定存取方法
索引方法,聚簇(Cluster)方法,HASH方法 2)确定数据的存放位置
基本原则:根据应用情况将易变部分与稳定部分分开存放
存取频率较高部分与存取频率较低部分分开存放。(2)对物理结构进行评价,评价的重点是时间和空间效率 数据库实施的工作内容:
(1)用DDL定义数据库结构
(2)组织数据入库
(3)编制与调试应用程序
(4)数据库试运行
DBMS对数据库的安全保护:
(1)即安全性控制(2)完整性控制(3)并发性控制
(4)数据库恢复。
数据库的安全性是指保护数据库,以防止非法使用所造成数据的泄露、更改或破坏。安全性控制的一般方法
(1)对有意的非法活动可采用加密存、取数据的方法控制;
(2)对有意的非法操作可使用用户身份验证、限制操作权来控制;(3)对无意的损坏可采用提高系统的可靠性和数据备份等方法来控制。二.完整性规则的组成
具体地说,完整性规则主要由以下三部分构成:
1. 触发条件:规定系统什么时候使用规则检查数据;
2. 约束条件:规定系统检查用户发出的操作请求违背了什么样的完整性约束条件;
3. 违约响应:规定系统如果发现用户的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。
关系模型的完整性:实体完整性,参照完整性和用户定义完整性。三.完整性约束条件的作用对象
完整性约束条件的作用对象可以是表、元组和列。
1.列级约束:即对数据类型、数据格式、取值范围等进行规定。2.元组约束 3.关系约束 1.事务的定义
事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元事务的特征 原子性(Atomic)一致性(Consistency)隔离性(Isolation)持久性(Durability)(1)丢失修改(2)污读(3)不可重读(4)产生“幽灵”数据 三.并发控制措施
并发控制的主要方式是封锁机制,即加锁(Locking)。排它锁和共享锁
在同时处于等待状态的两个或多个事务中,其中的每一个在它能够进行之前,都等待着某个数据、而这个数据已被它们中的某个事务所封锁,这种状态称为死锁。(1)一次封锁法(2)顺序封锁法
数据库备份指定期或不定期地对数据库数据进行复制,可以将数据复制到本地机器上,也可以复制到其它机器上,备份的介质可以是磁带也可以是磁盘。
事务故障、系统故障和介质故障。四.恢复技术
(1)利用备份技术(2)利用事务日志(3)利用镜像技术
QL Server 2000常用工具简介 1.企业管理器
2.查询分析器(Query Analyaer)3.服务管理器(Service Manager)4.分布式事务处理协调器(DTC)5.性能监视器(Performance Monitor)
6.导入和导出数据(Imput and Export Data)7.事件探查器
SQL Server的数据库由两种文件组成:数据文件和日志文件。SQL Server的用户有两种类型:Windows授权用户,SQL授权用户
一、SQL Server的安全控制
Windows身份验证模式 混合验证模式 2.权限管理 授予权限 收回权限
拒绝访问
SQL Server 2000四种备份方式 完全备份 差异备份 事务日志备份 文件和文件组备份
第二篇:数据库原理简答题总结
数据库原理简答题总结
第一章 数据库概论
1.人工管理阶段数据管理的特点:
(1)数据不保存在机器中
(2)无专用的软件对数据进行管理
(3)只有程序的概念,没有文件的概念
(4)数据面向程序
2.文件系统阶段数据管理的特点:
(1)数据可长期保存在外存的磁盘上
(2)数据的逻辑结构和物理结构有了区别
(3)文件组织已呈多样化。有索引、链接和散列文件
(4)数据不再属于某个特定的程序,可重复使用。
3.文件系统显露出三个缺陷:
(1)数据冗余性
(2)数据不一致性
(3)数据联系弱
4.数据库阶段的管理方式具有以下特点:
(1)采用复杂的数据模型表示数据结构
(2)有较高的数据独立性
(3)数据库系统为用户提供方便的用户接口
(4)系统提供四方面的数据控制功能
(5)对数据的操作既可以以记录为单位,又可以以数据项为单位
5.数据描述三个领域之间的关系:
从事物的特性到计算机中的数据表示,经历了三个领域:现实世界、信息世界、机器世界。
(1)现实世界:存在于人们头脑之外的客观世界,称为现实世界。
(2)信息世界:是现实世界在人们头脑中的反映。
(3)机器世界:信息世界的信息在机器世界中以数据形式存储。
信息世界中数据描述的术语有:实体、实体集、属性、实体标识符
机器世界中数据描述的术语有:字段、记录、文件、关键码
它们的对应关系是:
在数据库中每个概念都有类型和值之区分,类型是概念的内涵,值是概念的外延
6.数据描述的两种形式:
数据描述有物理描述和逻辑描述两种形式。
物理数据描述指数据在存储设备上的存储方式,物理数据是实际存放在存储设备上的数据。
逻辑数据描述指程序员或用户用以操作的数据形式,是抽象的概念化数据。
数据管理软件的功能之一,就是要把逻辑数据转换成物理数据,以及把物理数据转换成逻辑数据。
7.物理存储介质层次:
8.数据模型的种类:
目前广泛使用的数据模型可分为两种类型:概念数据模型、结构数据模型
概念数据模型:是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构;它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具;这一类中著名的模型是“实体联系模型”,简称“ER”模型。
结构数据模型:是直接面向数据库的逻辑结构;
它是现实世界的第二层抽象,涉及到计算机系统和数据库管理系统;这一类中的例子有层次、网状、关系、面向对象等模型。
9.结构数据模型的三个组成部分:
数据结构、数据操作、数据完整性约束是结构数据模型的三个组成部分。
数据结构:是指对实体类型和实体间联系的表达和实现
数据操作:是指对数据库的检索和更新(插、删、改)两类操作的实现
数据完整性约束:给出数据及其联系应具有的制约和依赖规则。
10.层次模型的特点:
用树型结构表示实体类型及实体间联系的数据模型称为层次模型。
层次模型的特点是:记录之间的联系通过指针实现,查询效率较高。
缺点是:(1)只能表示1:N联系
(2)由于树型结构层次顺序的严格复杂,引起数据的查询和更新操作也很复杂,因此编写应用程序也很复杂。
11.网状模型的特点:
用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。
网状模型的特点是:记录之间联系通过指针实现,M:N联系也容易实现,查询效率较高。
缺点是:编写应用程序比较复杂,程序员必须熟悉数据库的逻辑结构。
12.关系模型的特点:
关系模型的主要特征是用二维表格结构表达实体集,用外键表示实体间联系。
特点是:关系模型与层次、网状的最大差别是用关键码而不是用指针导航数据,表格简单,用户易懂,编程时不涉及存储结构、访问技术等细节。
13.数据库体系结构中的三级结构、两级映象:
数据库的体系结构分为三级:内部级、概念级、外部级。
外部级:最接近用户,是单个用户所能看到的数据特性。单个用户使用的数据视图的描述称为“外模式”。
概念级:涉及到所有用户的数据定义,是全局的数据视图。全局数据视图的描述称为“概念模式”。
内部级:最接于物理存储设备,涉及到实际数据存储的结构。物理存储数据视图的描述称为“内模式”。
为实现这三个抽象级别的联系和转换,DBMS在级级结构之间提供两个层次的映象:外模式/模式映象,模式/内模式映象。
14.二级数据独立性:
数据独立性是指:应用程序和数据之间相互独立,不受影响。分为物理独立性和逻辑独立性。
(1)物理数据独立性:如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。也就是对内模式的修改尽量不影响概念模式。
(2)逻辑数据独立性:如果数据库的概念模式要进行修改,如增加记录类型或增加数据项,那么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。也就是概念模式的修改尽量不影响外模式和应用程序。
15.DBMS的主要功能:
(1)数据库的定义功能:DBMS提供数据定义语言(DDL)定义数据库的三级结构及其相互之间的映象、完整性、安全控制等约束。
(2)数据库的操纵功能:DBMS提供数据操纵语言(DML)实现对数据库中数据的操作。
(3)数据库的保护功能:DBMS对数据库的保护主要通过数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库的安全性控制等四个方面实现。(4)数据库的存储管理:DBMS的存储管理子系统提供了数据库中数据和应用程序的一个界面,其职责是把各种DML语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。
(5)数据库的维护功能:DBMS中实现数据库维护功能的实用程序主要有数据装载程序、备份程序、文件重组织程序、性能监控程序。
(6)数据字典(DD):数据库系统中存放三级结构定义的数据库称为数据字典,对数据库的操作都要通过访问DD才能实现。
16.DBMS的组成:
DBMS是由两大部分组成:查询处理器和存储管理器。
(1)查询处理器有四个主要成分:DDL编译器、DML编译器、嵌入型DML的预编译器、查询运行核心程序。
(2)存储管理器有四个主要成分:授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。
17.DBS的组成:
DBS是一个实际可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件、软件、数据库管理员(DBA)的集合体。
(1)数据库(DB):是与一个特定组织各项应用有关的全部数据的集合,由应用数据的集合(物理数据库)、关于各级数据结构的描述(描述数据库)两部分组成。
(2)硬件:包括中央处理机、内存、输入输出设备、数据通道等硬件设备。
(3)软件:包括DBMS、OS、各种宿主语言和应用开发支持软件等程序。
(4)DBA:DBA是控制数据整体结构的人,负责DBS的正常运行。
18.DBS的全局结构:
(1)数据库用户。可分为四类:DBA、专业用户、应用程序员、终端用户
(2)DBMS的查询处理器。包括四部分:DML编译器、嵌入型DML的预编译器、DLL编译器、查询运行核心程序。
(3)DBMS的存储管理器。包括四部分:授权和完整性管理器、事务管理器、文件管理器、缓冲区管理器。
(4)磁盘存储器中的数据结构。包括四种形式:数据文件、数据字典、索引文件、统计数据组织。
第二章 关系模型
19.超键、主键、候选键的定义:
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键。
候选键(candidate key):不含有多余属性的超键称为候选键。(候选键可以有多个)
主键(primary key):用户选作元组标识的一个候选键称为主键。(主键是候选键中一个)
20.关系模式、关系子模式和存储模式:
关系模型基本上遵循数据库的三级体系结构。概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。
(1)关系模式:关系模式实际上是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。
(2)关系子模式:是用户所用到的那部分数据的描述。除了指出用户的数据外,还应指出模式与子模式之间的对应性。
(3)存储模式:关系存储时的基本组织方式是文件,元组是文件中的记录。存储一个关系可以用散列方法或索引方法实现。如果关系中元组数目较少,也可以用堆文件方式实现。
21.关系模型的三类完整性规则:
(1)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。
(2)参照完整性规则:这条规则要求“不引用不存在的实体”。
(3)用户定义的完整性规则:它反映某一具体应用涉及的数据必须满足的语义要求。
22.参照完整性规则的形式定义:
如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空,或者等于R1关系中某个主键值。
此规则使用时还要注意三点:
(1)外键和相应的主键可以不同名,只要定义在相同值域上即可。
(2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。
(3)外键值是否允许空,应视具体问题而定。
上述形式定义中,关系模式R1称为“参照关系”模式,R2称为“依赖关系”模式。
23.关系模型的形式定义:
24.关系查询语言根据其理论基础的不同分为哪两类:
关系代数语言:查询操作是以集合操作为基础运算的DML语言。(非过程性弱)
关系演算语言:查询操作是以谓词演算为基础运算的DML语言。(非过程性强)
25.关系代数中的操作有哪些?
关系代数中的操作可分为两类:
传统的集合操作:并、差、交、笛卡尔积
扩充的集合操作:对关系进行垂直分割(投影)、水平分割(选择),关系的结合(联接、自然联接),笛卡尔积的逆运算(除法)等。
其中五个基本操作为:并、差、笛卡尔积、投影、选择。
四个常用组合操作为:交、连接、自然连接、除法
两种扩充的关系代数操作为:外连接和外部并
26.关系演算有哪两种:
关系演算可分为元组关系演算和域关系演算。前者以元组为变量,后者以属性(域)为变量。
27.什么是约束变量、自由变量:
28.什么是安全运算:
在数据库技术中,不产生无限关系和无穷验证的运算称为安全运算,相应的表达式称为安全表达式,所采取的措施称为安全约束。
在关系演算中约定,运算只对表达式中公式在涉及到的关系的值范围内操作。这样就不会产生无限关系和无穷验证问题,关系演算是安全的。
29.为什么要对关系代数表达式进行优化:
查询优化是由DBMS对关系代数表达式进行优化组合,以提高DBMS的系统效率。要对关系代数进行优化的原因是:由于关系代数表达式是由关系代数操作组合而成。在关系代数操作中,执行笛卡尔积和联接运算最费时间,并且在执行过程中将产生大量的中间结果,以使系统执行效率较低。在执行前,由DBMS查询处理子系统先对关系代数表达式进行优化,尽可能早地执行选择和投影操作,以得到较小的中间关系,减少运算量和读外存块的次数,节省系统的执行时间,提高执行效率。
30.简述查询优化的优化策略:
(1)在关系代数表达式中尽可能早地执行选择操作。
(2)把笛卡尔积和随后的选择操作合并成F联接运算。
(3)同时计算一连串的选择和投影操作,以免分开运算造成多次扫描文件,从而能节省操作时间。
(4)如果在一个表达式中多次出现某个子表达式,应该将该子表达式预先计算出结果保存起来。以免重复计算。
(5)适当的对关系文件进行预处理。
(6)在计算表达式之前应先估计一下怎么计算合算。
31.笛卡尔积、等值连接、自然连接三者之间有什么区别:
等值连接中有笛卡尔积运算;
自然连接是一种等值连接,它是两个关系中所有公共属性进行等值连接的结果。第三章 关系数据库SQL语言32.SQL数据库的体系结构及术语:
SQL数据库的体系结构也是三级,但术语与传统的关系模型不同。
关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。
33.SQL数据库的体系结构要点是什么:
(1)一个SQL数据库是表(table)的汇集,它用一个或多个SQL模式定义。一个SQL模式是表和授权的表态定义。
(2)一个SQL表由行集构成,一行是列的序列,每列对应一个数据项。
(3)一个表或者是一个基本表,或者是一个视图。(视图只保存定义,不保存数据)
(4)一个基本表可跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储器上一个物理文件对应。
(5)用户可用SQL语句对视图和基本表进行查询等操作。
(6)SQL用户可以是应用程序,也可以是终端用户。
34.SQL的组成分成几部分:
SQL主要分成四部分:
(1)数据定义。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
(2)数据操纵。(SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
(3)数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
(4)嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。
35.SQL模式的撤消有哪两种方式:
CASCADE(连锁式)方式:执行DROP语句时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤消。
RESTRICT(约束式)方式:执行DROP语句时,只有当SQL模式中没有任何下属元素时,才能撤消SQL模式,否则拒绝执行DROP语句。
36.SQL提供的基本数据类型有哪些?每种举两个例子:
(1)数值型:INTEGER长整数、SMALLINT短整数
(2)字符串型:CHAR(N)长度为N的定长字符串、VARCHAR(N)具有最大长度为N的变长字符串。
(3)位串型:BIT(N)长度为N的二进制位串、BIT VARYING(N)最大长度为N的变长二进制位串
(4)时间型:DATE日期、TIME时间
SQL2允许用户使用“CREATE DOMAIN”语句定义新的域。
37.完整性约束主要有哪三种子句:
完整性约束主要有三种子句:主键子句(PRIMARY KEY),检查子句(CHECK)和外键子句(FOREIGN KEY)
38.什么是视图,它与表的区别是什么:
在SQL中,外模式一级数据结构的基本单位是视图,视图是从若干基本表和(或)其他视图构造出来的表。我们创建一个视图时,只是把其视图的定义存放在数据字典中,而不存储视图对应的数据,因此,视图被称为“虚表”,这是它与表的主要区别。
39.对于视图元组的更新操作(INSERT、DELETE、UPDATE)有哪三条规则:
(1)如果一个视图是从多个基本表使用联接操作导出的,那么不允许对这个视图执行更新操作。
(2)如果在导出视图的过程中,使用了分组和聚合操作,也不允许对这个视图执行更新操作。
(3)如果视图是从单个基本表使用选择、投影操作导出的,并且包含了基本表的主键或某个候选键,那么这样的视图称为“行列子集视图”,并且可以被执行更新操作。
SQL2中,允许更新的视图在定义时,必须加上“WITH CHECK OPTION”短语。
40.SQL语言有哪两种使用方式:
一种是在终端交互方式下使用,称为交互式SQL;
另一种是嵌入在高级语言的程序中使用,称为嵌入式SQL,而这些高级语言可以是C、PASCAL、COBOL等,称为宿主语言。
41.嵌入式SQL的实现有哪两种处理方式:
一种是扩充宿主语言的编译程序,使之能处理SQL语句;
另一种是采用预处理方式。目前多数系统采用后一种。
42.在宿主语言的程序中使用SQL语句有哪些规定:
(1)在程序中要区分SQL语言与宿主语句。所有SQL语句前必须加上前缀标识“EXEC SQL”,并以“END_EXEC”作为语句的结束标志。(结束标志在不同的宿主语言中不同)
(2)允许嵌入的SQL语句引用宿主语言的程序变量(共享变量),但有两条规定:
1)引用时,这些变量前必须加冒号“:”作为前缀,以示与数据库中变量有区别。
2)这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明。43.用游标机制协调SQL的集合处理方式所用的SQL语句有哪些:
与游标有关的SQL语句有下列四个:
(1)游标定义语句(DECLARE)
(2)游标打开语句(OPEN)
(3)游标推进语句(FETCH)
(4)游标关闭语句(CLOSE)
44.SQL DML的嵌入使用技术:
(1)若是INSERT、DELETE、UPDATE语句,则不必涉及游标,只要加上前缀标识和结束标志就能嵌入宿主语言程序中使用。
(2)若是已知查询结果肯定是单元组的SELECT语句,则不必涉及游标,也可加上前缀标识和结束标志后嵌入宿主语言程序中使用,但此时应该在SELECT语句中增加一个INTO子句,指出找到的值应送到相应的共享变量中去。
(3)若是已知查询结果为多个元组的SELECT语句,则必须涉及到游标,用游标机制把多个元组一次一个地传送给宿主程序处理。第四章 关系数据库的模式设计
45.什么是关系数据库:
关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。关系实质上是一张二维表。
46.一个关系模型有哪两个方面内容:
一个关系模型包括外延和内涵两个方面的内容。
外延就是通常所说的关系,或实例,或当前值。它与时间有关,随着时间的推移在不断变化。(由于元组的插入、删除、修改引起的)
内涵是与时间独立的,包括关系、属性、及域的一些定义和说明,还有各种数据完整性约束。
47.数据完整性约束分为哪两类:
数据完整性约束分为静态约束和动态约束。
静态约束:包括各种数据之间的联系(数据依赖),主键的设计和关系值的各种限制等等。这一类约束是如何定义关系的有效数据问题。
动态约束:主要定义如插入、删除、和修改等各种操作的影响。
48.关系数据库设计理论主要包括哪些内容:
关系数据库设计理论主要包括三个方面的内容:数据依赖、范式、模式设计方法。其中数据依赖起着核心的作用。
49.数据库使用过程中存在的问题是什么:
数据冗余、更新异常、插入异常、删除异常。
50.函数依赖(FD)的定义:
设有关系模式R(A1,A2,……,An)(即R(U)),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y,X→Y为模式R的一个函数依赖。
或者说,对于X的每一个具体值,都有Y惟一的具体值与之对应,即Y值由X值决定,因而
这种数据依赖称为函数依赖。
51.函数依赖的逻辑蕴涵、FD的闭包F+:
52.候选键、主属性、非主属性:
设有关系模式R(A1,A2,……,An),F是R的一个函数依赖集,X是{A1,A2,……,An}的一个子集。如果
① X→A1A2……An∈F+,且
② 不存在X真子集Y,使得Y→A1A2……An成立,则称X是R的候选键。
包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性称为非主属性。
53.函数依赖的推理规则:
设有关系模式R(A1,A2,……,An)和属性集U= A1,A2,……,An,X,Y,Z,W是U的一个子集,F是R的一个函数依 6 赖集,推理规则如下:
54.什么是平凡的FD?平凡的FD可根据哪一条推理规则推出?
55.关系模式的分解有几个不同的衡量标准:
分解具有无损联接;分解要保持函数依赖;
分解既要保持依赖,又要具有无损联接。
56.什么是无损连接:
57.试叙保持函数依赖的定义:
58.第一范式(1NF):
如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。
59.第二范式(2NF):
如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的候选键,则称R是第二范式模式。
60.第三范式(3NF):
如果关系模式R是第一范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。
61.BCNF:
如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。从BCNF的定义可明显地得出如下结论:
(1)所有非主属性对键是完全函数依赖。
(2)所有主属性对不包含它的键是完全函数依赖。
(3)没有属性完全函数依赖于非键的任何属性组。
如果模式R是BCNF,则它必定是第三范式,反之,则不一定。
62.模式设计方法的原则:
关系模式R相对于函数依赖集F分解成数据库模式ρ={R1,R2,……Rk},一般应具有下面三个特性:
(1)ρ中每个关系模式Ri是3NF或BCNF(2)保持无损联结(3)保持函数依赖集
(4)ρ中模式个数最少和属性总数最少。
63.一个好的模式设计方法应符合哪三条原则:
表达性,分离性,最小冗余性。
表达性涉及到两个数据库模式的等价性问题,即数据等价和依赖等价,分别用无损联接和保持函数依赖性来衡量。
分离性是指属性间的“独立联系”应该用不同的关系模式表达。
最小冗余性要求在分解后的数据库能表达原来数据库的所有信息这个前提下实现。
关系模式设计方法基本上可以分为分解与合成两大类。
64.多值依赖MVD:
设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对R(U)的任一关系r,对于X的一个给定的值存在着Y的一组值与其对应,同时Y的这组值又不以任何方式与U-X-Y中的属性相关,那么称Y多值依赖于X,记为X→→Y。
65.平凡多值依赖:
66.第四范式(4NF):
设关系模式R,D是一个多值依赖集,如果D中存在一个非平凡多值依赖X→→Y,并且X必是R的超键,那么称R是4NF模式。第五章 数据库设计
67.什么是软件生存期:
软件生存期是软件工程的一个重要概念。是指从软件的规划、研制、实现、投入运行后的维护,直到它被新的软件所取代而停止使用的整个期间。通常分为六个阶段:
(1)规划阶段
(2)需求分析阶段
(3)设计阶段
(4)程序编制阶段
(5)调试阶段
(6)运行维护阶段
68.数据库系统的生存期:
一般分为七个阶段,即:
(1)规划阶段
(2)需求分析阶段 1)信息要求 2)处理要求 3)安全性和完整性要求
(3)概念设计阶段
(4)逻辑设计阶段 两部分:数据库逻辑设计和应用程序设计
(5)物理设计阶段 两部分:物理数据库结构的选择和逻辑设计中程序模块说明的精确化
(6)实现阶段
(7)运行维护阶段
69.数据库设计过程的输入有哪些内容:
(1)总体信息需求
(2)处理需求
(3)DBMS的特征
(4)硬件和OS特征
70.数据库设计过程的输出有哪两部分:
一部分是完整的数据库结构,其中包括逻辑结构与物理结构。
另一部分是基于数据库结构和处理要求的应用程序的设计原则。
71.常见的数据库设计方法有哪几种:
(1)视图模式化及视图汇总设计方法
(2)关系模式的设计方法
(3)新奥尔良设计方法
(4)基于E-R模型的数据库设计方法
(5)基于3NF的设计方法
8(6)基于抽象语法规范的设计方法
(7)计算机辅助数据库设计方法
72.实用的数据库设计方法至少应包括哪些内容:
(1)设计过程
(2)设计技术
(3)评价准则
(4)信息需求
(5)描述机制
73.一种设计方法学需要有三种基本类型的描述机制:
(1)实现设计过程的最终结果将用DBMS的DDL表示。
(2)信息输入的描述。
(3)在信息输入和DDL描述之间的其它中间步骤的结果的描述。
74.数据库设计中的规划阶段的主要任务:
是进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。
75.需求分析阶段的任务:
需求分析阶段应该对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能接受的文档。
76.需求分析的步骤:
大致可分为三步来完成,即需求信息的收集、分析整理和评审。
77.数据字典由哪几部分组成:
(1)数据项
(2)数据结构
(3)数据流
(4)数据存储
(5)加工过程
78.数据抽象:
抽象是对实际的人、物、事或概念的人为处理,它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。
抽象有两种形式,系统状态抽象(抽象对象)和系统转换抽象(抽象运算)。
79.对象的两种形式:
(1)聚集:的数学意义就是笛卡尔积的概念。通过聚集,形成对象之间的一个联系对象。
(2)概括:是从一类其它对象形成一个对象。对于一类对象{O1,O2,……,On}可以概括成对象O,那么Oi称为O的其中一个。
80.依赖联系:
在现实世界中,常常有某些实体对于另一些实体具有很强的依赖关系,即一个实体的存在必须以另一个实体的存在为前提。我们通常把前者称为弱实体。在ER图中,用双线框表示弱实体,用指向弱实体的箭头表明依赖联系。
81.子类、超类:
某个实体类型中所有实体同时也是另一实体类型中的实体。此时,我们称前一实体类型是后一实体类型的子类,后一实体类型称为超类。在ER图中,带有子类的实体类型(超类)以两端双线的矩形框表示,并用加圈的弧线与其子类相连,子类本身仍用普通矩形框表示。
子类具有一个很重要的性质:继承性。它可继承超类上定义的全部属性,其本身还可包含其它另外的属性。
82.ER模型的操作:
(1)实体类型的分裂:垂直分割、水平分割
(2)实体类型合并:分裂的逆过程。
(3)联系类型的分裂
(4)联系类型的合并
83.采用ER方法的数据库概念设计分成哪三步:
(1)设计局部ER模式:1)确定局部结构范围 2)实体定义 3)联系定义 4)属性分配(2)设计全局ER模式:1)确定公共实体类型 2)局部ER模式的合并 3)消除冲突。
(3)全局ER模式的优化:1)实体类型的合并 2)冗余属性的消除 3)冗余联系的消除
84.冲突分为哪三种:
属性冲突,包括属性域的冲突、属性取值单位冲突。
结构冲突,包括:
(1)同一对象在不同应用中的不同抽象。
(2)同一实体在不同局部ER图中属性组成不同。
(3)实体之间的联系在不同的局部ER图中呈现不同的类型。
命名冲突,包括属性名,实体名,联系名之间的冲突:同名异义、异名同义
85.ER模型向关系模型的转换:
ER模型中的主要成分是实体类型和联系类型。
对实体类型,将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。
对联系类型,就视1:
1、1:N、M:N三种不同的情况做不同处理。
(1)对1:1可在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
(2)对1:N,则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。
(3)对M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键盘加上联系类型的属性,而键为两端实体键的组合。
86.什么是物理设计:
对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。物理结构,主要指数据库在物理设备上的存储结构和存取方法。
87.物理设计的步骤:
物理设计可分五步完成,前三步涉及到物理数据库结构的设计,后两步涉及约束和具体的程序设计。
(1)存储记录结构设计
(2)确定数据存储安排
(3)访问方法的设计
(4)完整性和安全性
(5)程序设计
88.在数据库系统生存期中,生存期的总开销可分为几项:
规划开销、设计开销、实现与测试开销、操作开销、维护开销。
89.用户使用和计算机资源的操作开销是:
(1)查询响应时间
(2)更新事务的开销
(3)报告生成的开销
(4)改组频率和开销
(5)主存储空间
(6)辅助存储空间
90.数据库实现阶段的主要工作:
(1)建立实际数据库结构
(2)试运行
(3)装入数据
91.数据库的重新组织设计:
对数据库的概念模式、逻辑结构或物理结构的改变称为重新组织,其中改变概念模式或逻辑结构又称为重新构造,改变物理结构则称为重新格式化。
92.运行维护阶段的主要工作:
(1)维护数据库的安全性和完整性控制及系统的转储和恢复。
(2)性能的监督、分析与改进。
(3)增加新功能。
(4)发现错误,修改错误。
第三篇:数据库总结
数据库老师画的重点
数据库:数据库是长期存储在计算机内、有组织、可共享的大数据集合。数据库操纵功能:查询select、插入insert、删除delete、修改update 数据库系统的特点:1数据结构化2数据的共享高,冗余度低,易扩充3数据独
立性高4数据由DBMS统一管理和控制
数据模型的组成要素:数据结构、数据操作、完整性约束 概念模型:要出大体,画图 信息世界中的基本概念————
1、实体:客观存在并可以相互区别的事物称为实体
2、属性:实体所具有的某一特性
3、码(key):唯一标识实体的属性集称为码
4、域(domain):域是一组具有相同数据类型的集合
5、实体型(entity type):具有相同属性的实体必然具有共同的特征和性质。用实体名
及属性名集合来抽象和刻画同类实体,称为实体型。
6、实体集(entity set):同一类型的实体的集合
7、联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中
反应为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指
组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系
最常用的数据模型:
1、层次模型(Hierarchical Model)
2、网状模型(Network Model)
3、关系模型(Relational Model)
4、面向对象模型(Object Oriented Model)
5、对象关系模型(Object Relational Model)其中层次模型和网状模型统称为格式化模型
数据库系统的三级模式结构:
1、模式(scheme):模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。他是数据库系统模式结构的中间层,既不设计涉及数据的物理存储细节和硬件环境,也与具体的应用程
序、所使用的应用开发工具及高级程序设计语言无关。
2、外模式(external schema):外模式也称为子模式(subschema)或用户模式,他是数
据库用户(包括应用程序员和最终用户)能看见和使用
的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
3、内模式(internal scheme):内模式也称存储模式(storage schema),一个数据库只有
一个内模式。他是数据库物理结构和存储方式的描述,是
数据在数据库内部的表达方式。数据库的二级映像功能与数据库独立性————
为了能够在系统内部实现这3个抽象层次的联系和转换,数据库管理系统在这三个模式之间提供了两层映像:
·外模式/模式 映像 ·模式/内模式 映像
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性 关系(relation):D1*D2*D3··*Dn的子集叫做在域D1、D2、D3···Dn上的关系,表示
为R(D1、D2、D3···Dn)
这里的的R表示关系的名字,n是关系的目或度(degree)关系中每个元素是关系中的元组,通常用t表示 当n=1时,称关系为单元关系(unary relation),或一元关系 当n=2时,称该关系为二元关系(binary relation)
关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(attribute)。n目关系必有n个属性。
若关系中的某一属性组的值能够唯一的标识一个元组,则称该属性组为候选码(candidate key)
若一个关系有多个候选码,则选定其中一个为主码(primary key)候选码的诸属性称为主属性(prime attribute)。不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)P46 没有搞明白干嘛使得!!!!!!!!!!!
关系的三类完整性约束:实体完整性、参照完整性、用户定义的完整性 实体完整性和参照完整性被称作关系的两个不变性
1、实体完整性(entity integrity):主码中的属性即主属性不能取空值
2、参照完整性(referential integrity):
若属性(或属性组)F是基本关系R的外码,它与基本关系S的的主码K相对应(基
本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
·或者取空值(F的每个属性值均为空值)·或者等于S中某个元组的主码值
SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言。SQL 的特点:
1、综合统一
2、高度非过程化
3、面向集合的操作方式
4、以同一种语法结构提供多种使用方式
5、语言简洁、易学易用 SQL的动词:
数据查询:select 数据定义:create、drop、alter(房间)修改表
数据操纵:insert、update(家具)修改数据、delete 数据控制:grant、revoke
绘制ER图————
在ER图中有如下四个成分:
矩形框:表示实体,在框中记入实体名。菱形框:表示联系,在框中记入联系名。
椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下
划一下划线。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上
标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对
多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体
连线方向各写N,M。
基本表是本身独立存在的表,在SQL中一个关系就对应一个基本表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也可以放在存储文件中。存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。
视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。
基本表的定义、删除与修改:
1、定义基本表:create table ***()
2、定义主键:Primary key == not null(中间不用连接符号)unique
3、定义外码的语句:foreign key(某个字段)references 某表(某字段)
4、定义主码语句:primary key(***,***)
5、修改基本表:alter table 某表名 add 列名<数据类型>[完整性约束]
drop <完整性约束名>(字段名)
alter column<列名><数据类型>
6、删除表:drop table 表名[restrict | cascade级联删除]
7、建立索引:create [unique] [clustered] index 索引名
on 表名(列名[asc | desc],······)·clustered 表示是聚簇索引
·unique表明此索引的每一个索引值只对应唯一的数据记录 ·用户可以在最经常查询的列上建立聚簇索引以提高查询效率 ·在一个基本表上只能建立一个聚簇索引
·建立局促索引后,更新该索引列上的数据时,往往导致表中记
录的物理顺序的额变更,代价较大,因此对于经常更新的列不
宜建立聚簇索引
8、删除索引:drop index <索引名>
上机的时候不太一样:drop index 表名。索引名字
9、数据的查询:
select [all | distinct] <目标列表达式>,······ from 表名或者视图名,··· where 条件表达式
group by 列名1 [having 条件表达式] order by 列名2 [asc | desc] ·如果有group by 子句,则结果按“列名1”的值进行分组,该属性列值相
等的元组为一个组。通常会在每组中作用聚集函数。如果group by 子句带
having短语,则只有满足指定条件的组才予以输出。
·如果有order by 子句,则结果表按“列名2”的值的升序或降序排序 ·select Sname Name,‘Year of Birth:’Birth,2013-Sage Birthday,lower
(Sdept)Department
from Student
lower表示小写
常用的查询条件————
比
较:大于、等于、小于、不等于(< >/!=)、大于/小于等于、不小于、不大于、not+上述比较运算符
确定范围:between and,not between and 确定集合:in,not in 字符匹配:like,not like 空
值:is null,is not null 多重条件(逻辑运算):and,or,not
例子————
·select Sname,Sage
from Student
where Sdept(not)in(‘cs’,‘ma’,‘is’)
字符匹配:[not] like ‘字符串’[escape‘换吗字符’] 百分号表示任意长度、下划线表
示任意单个字符 聚集函数————
count([distinct | all] *)
统计元组个数 count([distinct| all] 列名)
统计一列中值的个数 sum([distinct| all] 列名)
计算一列值的总和(此列必须是数值型)avg([distinct| all] 列名)
计算一列的平局值(此列必须是数值型)max([distinct| all] 列名)
求一列中的最大值 min ·如果指定distinct短语,则表示在计算时要取消指定列中的重复值。如果不指定distinct
短语或者指定all短语(all为缺省值),则表示不取消重复。
·注意在聚集函数遇到空值时,除count(*)外,都跳过空值而只处理非空值。·注意where子句中不能用聚集函数作为条件表达式
group by子句————
where 子句与having 短语的区别在于作用对象不同。Where 子句作用对象作用于基本表或试图,从中选择条件的元组。Having短语作用于组,从中选择满足条件的组。
例子:select Sno from SC
group by Sno having count(*)>3 查询了选修3门以上课程的学生学号 链接查询—————— 例子:
非自然链接
·select Student.*,SC.*
from Student,SC
Where Student.Sno=SC.Sno
自然链接
·select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
from Student,SC
where Student.Sno=SC.Sno
自身链接
·select FIRST.Cno,SECOND.Cpno
from Course FIRST,Course SECOND
where FIRST.Cpno=SECOND.Cpno
外连接
·select Student.Sno,Sname,Sage,Sdept,Cno,Grade
from Student left outer join SC
on Student.Sno=SC.Sno ·左外链接列出左边关系中所有的元组,右外连接列出右边关系中的所有元组
嵌套查询
·select Sname from Student
where Sno in(select Sno from SC where Cno=‘2’)
·找出每个学生超过他选修课程平均成绩的课程号
Select Sno,Cno From SC x Where Grade >=(select avg(Grade)
From SC y Where y.Sno=x.Sno)
授权————
Grant 权限,····· On 对象类型 对象名,····· To 用户,·····
[with grant option]只一句表示权限的传递
例子: ·Grant all privileges
On Student,Course
To U1,U2
·grant update(Sno),select
on Student
to u4
·revoke update(Sno)
on table Student
from u4
一个满足BCNF的关系模式有:
·所有非主属性对每一个码都是完全函数依赖
3NF 编辑
3NF,即第三范式是要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。满足第三范式(3NF)必须先满足第二范式(2NF)
2NF(第二范式)
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。如图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个惟一属性列被称为主关键字或主键、主码。
第四篇:数据库总结
数据库总结:共三天的课程
数据库的概念:数据库是一组有序的数据的集合; 数据库的作用:为了有效的管理数据; 数据类型:
一 字符串相关的类型:一般用于人名、大于2147483647(10位数)的数字、地址等字符信息
使用格式:字段名 char(存放字符的长度)
或者
字段名
varchar(存放字符的长度)Char:代表的是定长的字符串类型,定义了多长,就分配多长的存储空间,只要不超过定义的长度,分配给char的空间长度就不会改变,余下的部分用空格代替;
Varchar:代表的是可变长度的字符串类型,定义的长度可以理解为是虚拟的空间,只要字符串的长度不超过定义的长度,那么varchar的分配空间长度就是字符串实际的长度,余下的部分自动消失; 二 数字相关的类型:一般用于工资、人数统计等方面; 使用格式:字段名
int/float/double 【此处不用定义字段的长度】 int :取值的范围-2147483648~2147483647,后面可以设置主键及自增长;
float/double:用于带有小数的数据定义 decimal:多用于金钱的数据 三 时间相关的数据类型:一般用于时间的统计,例如登录时间、修改时间、退出时间等;
使用格式:字段名
date/time/datetime/timestamp 【此处不用定义字段的长度】,插入表的时候格式与字符串的插入格式一样,都是用单引号插入
date:日期类型
格式:yyyy-MM-dd time:时间类型
格式:hh:mm:ss Datetime:日期时间
格式:yyyy-MM-dd hh:mm:ss Timestamp:时间戳
格式:yyyy-MM-dd hh:mm:ss 数据库的操作:
一 查看所有数据库:select databases;二 查看所有表:select tables;三 创建数据库:create database 数据库名称;
use 数据库名称;
四 创建表:create table 表名(字段1
类型(长度)[约束], 字段2
类型(长度)[约束], 字段n
类型(长度)[约束])注:字段n的结尾处不需要用逗号分隔
五 删除当前表/数据库:drop table 表名/ 数据库名;
六 向表中插入数据:insert into 表名(字段1,字段2,字段n)values(值1,值2,值n),(值1,值2,值n),(值1,值2,值n),(值1,值2,值n)...注:此处的插入数据可以用逗号隔开,想要插入几条数据就插入几个值。
七 查看当前表的值:select * from 表名
注:*是通配符,代表全部的意思,此处*还可以用表中的字段名代替,那么查看就是相应的字段名下的数据。
约束:
一 主键约束:primary key 代表的是唯
一、不重复,非空的约束 使用格式: 字段名
类型(长度)primary key 自增长:auto_increment 必须与主键约束一同使用,字段的类型是整型,插入数据的时候可以不用向设置自增长的字段添加数据,起始的默认数字是:1 二 唯一约束:unique 不可以重复,唯一 使用格式: 字段名
类型(长度)unique 注:空格是不可以作为字符串使用的,空格相当于null,如果向设置unique的字段内插入数据是存在【‘空格’、null、(‘’)】当中两个或两个以上的时候就会报错【’null’是字符串,不是空】 三 非空约束:not null 插入数据时必须要为设置not null的字段插入数据,这个字段不能为空
使用格式: 字段名
类型(长度)not null 注:空格是不可以作为字符串使用的,空格相当于null,如果向设置not null的字段内插入数据是存在【‘空格’、null、(‘’)】当中一个或一个以上的时候就会报错
四 默认约束:default 为字段设置默认值,当不为设置默认约束的字段插入数据是,系统自动将默认值赋予这个字段 使用格式: 字段名
类型(长度)default 值 五 检查约束:check(检查的内容)使用格式: 字段名
类型(长度)check(检查的内容)注:在SQL语句中没有实际的含义,但是需要会用
六 外键约束:foreign key 必须是另一个表的主键(唯一的),设置了外键的字段,受到关联表中相应主键的字段的约束,当要为外键约束插入数据的时候,必须先为被关联的表插入相应主键的数据;
使用格式: 创建表时候就设置外键约束
字段名
类型(长度),Foreign key(字段名)references 表名(对应主键的字段名)表已经创建完,插入外键约束
Alter table 表名 add constraint fk_f foreign key(要设置外键的字段名)references 被关联的表名(被关联的字段名);表的结构:
查看表结构:desc/describe 表名;修改表名:alter table 表名 rename 新表名 添加新字段:alter table 表名 add 字段名 类型(长度)修改字段:alter table 表名 change 旧字段 新字段 新字段类型(长度)删除字段:alter table 表名 drop 字段名
记录的操作:
一 插入记录:insert into 表名(字段名1,字段名n)values(值1,值n)二 修改记录:update 表名 set 字段名=值 where 条件
注:这里如果不加where条件,那么这个表的这个字段名下的数据全部赋值成为“值”
三 删除记录:delete from表名 where 条件
注:此处删除的是表中的符合where条件的整条记录 注意:使用delete和update的时候要千万注意,必须要写where条件语句,要不然就会将当前表中的所有数据改变,在想改回来的话会非常非常费劲!!!
四 查询记录:select 字段名1,字段名n from 表名 where 查询条件 查询去掉重复的值:关键字 distinct 格式:select distinct 字段名1,字段名n from 表名命别名/赋值表: 关键字 as 命别名:select 字段名 as ‘自定义名’
from 表名 赋值表:create table 新表名 as select * from 旧表名 3 查询条件语句的范围:in(等值判断)/not in select 字段名1,字段名n from 表名 where 字段名
in/not in(值1,值n)4 模糊查询:like
匹配标识符:’_’代表一个字符、%代表多个字符
Select 字段名 from 表名 where 字段名 like ‘_sth%’ 注:like后面的判断值如果是数字的话要加单引号,例如想要查询的条件是12345,可以这样写:’%3%’,单引号必须加 5 区间查询:limit m,n
查询从第m个记录开始,一共n条记录,这里的m指的是类似Java数组里的下标,计数从0开始
Limit m
查询从头开始的一共m条记录
Select */字段名 from 表名 limit m,n 6 查询值是否存在某段区间内:between 最大值 and 最小值(int 型的最大值、最小值)Select 字段名1,字段名n from 表名
where 字段名 between 最大值
and 最小值:
注意这里面的条件含有等于最大值和等于最小值
字段名 between 最大值 and 最小值= 字段名>=最小值 and 字段名<=最大值
逻辑运算符在此处可通用:<
<=
>
>=
=
!=
集合函数: 使用方法与Java中的方法的使用类似,注意的是函数名后面紧跟着(),中间不能有空格 一 符合条件的记录的个数:countil
Select count(字段名)from 表名
where 查询条件 二 求某个字段的值的总和:sum Select sum(字段名)from 表名
where 查询条件 三 求某个字段的值的平均值:avg Select avg(字段名)from 表名
where 查询条件 四 求某个字段的值的最大值:max Select max(字段名)from 表名
where 查询条件 五 求某个字段的值的最大值:min Select min(字段名)from 表名
where 查询条件
多表查询:
笛卡尔积:select(字段1,字段n)from 表1,表n 自己想要的查询(找到所有被查询的表的相同的字段): Select(a.字段1,a.字段n,b.字段1,b.字段n)from 表名 as a,表名 as b where a.字段名=b.字段名;
联合查询:
左连接:select 字段名/* from 左表名
left join 右表名
on 左表名.字段名=右表名.字段名
查询结果:左表全部显示,右表与左表相同的字段名的部分显示 右连接:select 字段名/* from 左表名
right join 右表名
on 左表名.字段名=右表名.字段名
查询结果:右表全部显示,左表与右表相同的字段名的部分显示 内连接:select 字段名/* from 左表名
inner join 右表名
on 左表名.字段名=右表名.字段名
查询结果:只有左表与右表相同的部分才显示
全连接:select 字段名/* from 左表名
full join 右表名 查询结果:’*’的结果是笛卡尔积
‘字段名’的结果是这个字段名下的笛卡尔积
函数:函数名与小括号之间不能有空格,字符串必须用单引号圈起来
一 求字符串长度:length Select
length(字符串)二 字符串的截取:substring(字符串,m)/(字符串,m,n)Select
substring(字符串,m)/(字符串,m,n)三 小写转大写:upper Select
upper(字符串)四 大写转小写:lower Select
lower(字符串)五 加密:MD5 Select
MD5(字符串)六 显示现在的时间:now Select
now()
迷糊中: group by
order by 子查询
第五篇:简答题总结[模版]
2011—2006 古代文学史
(二)2011、1
三、名词解释题(本大题共4小题,每小题3分,共12分)36.西昆体 37.平话 38.“汤沈之争” 39.小说界革命
四、简答题(本大题共4小题,每小题5分,共20分)40.简述陈师道诗歌的艺术风格。41.简述《琵琶记》的戏剧结构特点。42.简述《三国演义》的悲剧精神。43.简述《长生殿》的曲词艺术。
五、论述题(本大题共2小题,每小题14分,共28分)44.试述周邦彦词的艺术特色。45.试述《红楼梦》叙事艺术的成就。2010、10
三、名词解释题(本大题共4小题,每小题3分,共12分)36.“易安体” 37.“借才异代” 38.张岱 39.新红学
四、简答题(本大题共4小题,每小题5分,共20分)40.欧阳修诗歌创作的散文化倾向主要表现是什么? 41.简述元代“四大传奇”在艺术表现上的共同特点。42.简述明代戏剧的基本特征。43.简述南社的意义。
五、论述题(本大题共2小题,每小题14分,共28分)
44.试以《题竹石牧牛》、《登快阁》、《雨中登岳阳楼望君山二首》为例,论述“山谷体”的艺术特点和风格特征。
45.如何理解《长生殿》中的爱情描写? 2010、1
三、名词解释题(本大题共4小题,每小题3分,共12分)36.元诗四家 37.前七子 38.唐宋派 39.肌理说
四、简答题(本大题共4小题,每小题5分,共20分)40.简述陈师道诗歌的艺术风格。
41.简析元杂剧《梧桐雨》中唐明皇的形象。42.《水浒传》中,“义”的人格观念表现在哪些方面? 43.简述《老残游记》的体式、结构和新异的思想。
五、论述题(本大题共2小题,每小题14分,共28分)44.试论“山谷体”的风格特征。
45.试述《儒林外史》塑造的两组对立人物及其意义。2009 10
三、名词解释题(本大题共4小题,每小题3分,共12分)36.永嘉四灵 37.南戏 38.《圆圆曲》 39.新文体
四、简答题(本大题共4小题,每小题5分,共20分)40.简述辛弃疾词的语言艺术。
41.钟嗣成《录鬼簿》中将记载的已死才人分为哪三种? 42.简述《长生殿》的艺术成就。
43.简述清代小说编创方式不断成熟的具体表现。
五、论述题(本大题共2小题,每小题14分,共28分)44.试论苏轼散文的总体艺术特色。
45.论述《三国演义》中类型化人物典型的艺术特征。
2009 1
三、名词解释题(本大题共4小题,每小题3分,共12分)
36.“妙悟”说 37.荆、刘、拜、杀 38.茶陵诗派 39.清初三大家
四、简答题(本大题共4小题,每小题5分,共20分)40.简述张孝祥词的艺术特点。41.简述宋元话本小说的艺术特点。
42.简述《二拍》对拟话本小说体制发展的贡献。43.简述冯桂芬对经世散文发展的贡献。
五、论述题(本大题共2小题,每小题l4分,共28分)44.赵翼《瓯北诗话》评苏轼诗云:“以文为诗,自昌黎始,至东坡益大放厥词,别开生面,成一代之大观。……(苏轼)才思横溢,触处生春。胸中书卷繁富,又足以供其左抽右旋,无不如意。其尤不可及者,天生健笔一枝,爽如哀梨,快如并剪,有必达之隐,无难显之情,此所以继李杜后为一大家也。”
请参照这一评论,论述苏轼诗歌的艺术特色。
45.试论《聊斋志异》在艺术手法上对唐传奇的超越。
2008 10
三、名词解释题(本大题共4小题,每小题3分,共12分)36.诚斋体 37.子弟书 38.才子佳人小说 39.诗界革命
四、简答题(本大题共4小题,每小题5分,共20分)40.简述金代“国朝文派”重要作家的诗歌风格。41.简述贯云石散曲的风格特点。
42.简述蒲松龄的经历对《聊斋志异》的影响。43.简述严复翻译文字的意义。
五、论述题(本大题共2小题,每小题14分,共28分)44.结合具体作品,论述陆游诗歌的艺术成就。45.试述《牡丹亭》浪漫主义的艺术成就。2008 1
三、名词解释题(本大题共4小题,每小题3分,共12分)36.王荆公体 37.《王粲登楼》 38.《封神演义》 39.南洪北孔
四、简答题(本大题共4小题,每小题5分,共20分)40.简述永嘉四灵诗歌的艺术特点。41.简析《李逵负荆》中李逵的形象。
42.简述冯梦龙《三言》雅俗共赏艺术追求的具体内涵。43.简述梁启超“新文体”的特点。
五、论述题(本大题共2小题,每小题14分,共28分)44.试论《梦窗词》的艺术特点。
45.《桃花扇》以明末复社文人侯方域与秦淮名妓李香君的爱情故事来反映南明弘光朝覆灭的历史,为后人提供历史与人生的借鉴。请就此阐述《桃花扇》的思想和社会意义。2007 10
三、名词解释(本大题共4小题,每小题3分,共12分)36.江湖诗派 37.才学小说 38.程甲本 39.同光体
四、简答题(本大题共4小题,每小题5分,共20分)40.简述《梧桐雨》的思想内容与艺术特色。41.简述窦娥的品格与反抗精神。42.简述《红楼梦》续书及分类。43.简述曾国藩对桐城派的改造。
五、论述题(本大题共2小题,每小题14分,共28分)44.试以《书愤》、《秋兴》、《夜归偶怀故人独孤景略》等为例,论述陆游律诗和绝句的 艺术特点。
45.论述金圣叹的小说理论及其贡献。2007 1
三、名词解释题(本大题共4小题,每小题3分,共12分)36.永嘉四灵 37.南戏 38.前七子 39.性灵诗派
四、简答题(本大题共4小题,每小题5分,共20分)40.简述梅尧臣诗歌的艺术特点。41.简述《单刀会》的艺术特点。42.简述金圣叹对小说理论的贡献。43.简述南社的意义。
五、论述题(本大题共2小题,每小题14分,共28分)44.试述白石词的艺术特色。
45.结合作品的情节、人物和典型道具,试述《桃花扇》的结构艺术。2006 10
三、名词解释题(本大题共4小题,每小题3分,共12分)
36.“兴趣” 37.《醒世姻缘传》 38.清初三大家 39.小说界革命
四、简答题(本大题共4小题,每小题5分,共20分)40.简述元杂剧《墙头马上》的艺术特色。41.简述王实甫《西厢记》在元杂剧体制上的创新。42.简述陈维菘词的创作特点。43.简述龚自珍诗歌的艺术特点。
五、论述题(本大题共2小题,每小题14分,共28分)
44.试结合《百步洪》
(二)、《琴诗》、《汲江煎茶》等诗,论述苏轼诗歌的艺术特色。45.试以“桃园三结义”、“怒鞭督邮”、“三顾茅庐”、“蒋干盗书”、“借东风”、“单刀赴会”、“失街亭”、“空城计”、“斩马谡”等故事为例,说明《三国演义》虚实相间的艺术观念及其写作技法。2006 1
三、名词解释题(本大题共4小题,每小题3分,共12分)36.半山诗 37.临川派 38.桐城派 39.谴责小说
四、简答题(本大题共4小题,每小题5分,共20分)40.简述“诚斋体”的艺术特征。41.简述马致远散曲的思想艺术特点。42.简析元杂剧《赵氏孤儿》的主题思想。43.《三国演义》进行艺术虚构的技法主要有哪些?
五、论述题(本大题共2小题,每小题14分,共28分)44.下面是南宋几位文学家对辛弃疾词的评论:
词至东坡,倾荡磊落,如诗如文,如天地奇观,岂与群儿雌声学语较工拙?然犹未至用经用史,牵《雅》《颂》入《郑》《卫》也。自辛稼轩前,用一语如此者,必且掩口。及稼轩,横竖烂熳,乃如禅宗棒喝,头头皆是;又如悲笳万鼓,平生不平事并巵酒,但觉宾主酣畅,谈不暇顾。词至此亦足矣。(刘辰翁《辛稼轩词序》)其词之为体,如张乐洞庭之野,无首无尾,不主故常;又如春云浮空,卷舒起灭,随其所态,无非可观。(范开《稼轩词序》)公所作大声镗鞳,小声铿,横绝六合,扫空万古,自有苍生以来所无。其秾丽绵密者,又不在小晏、秦郎之下。(刘克庄《稼轩集序》)请借助这些材料,论述辛弃疾词在词境开拓和艺术风格方面的成就。45.试论《红楼梦》的悲剧意义。