第5章 其他数据库对象
数据库5章数据库设计
E-R图向关系模型的转换:
码原则:
一个实体型转换为一个关系模式:实体的属性就是关系的 属 性,实体的码就是关系的码。
一个联系转换为一个关系模式:与该联系相连的各实体的码以 及联系的属性转换为该关系的属性。该关系的码有五种情况:
若联系是1:1:则每个实体的码均是该关系的候选码。 若联系是1:n:则关系的码是n端实体的码。 若联系是m:n:则关系的码是参加联系的诸实体的码的集合。 若联系是三个或三个以上的实体的一个多元联系可以转换为一个关系模
① 确定局部E-R图实体之间的函数依赖。 ② 求F的最小依赖集Fm,求其差集,即
D=F-Fm ③ 逐一考察D中每一函数依赖,确定是否为冗余,若是,就把 它去掉。
5.4 逻辑结构设计
任务:将基本E-R模型转换为DBMS所支持的数据模型。 关系型逻辑结构设计的步骤:
1) 将概念结构转换为关系模型 2) 优化模型 3) 设计适合DBMS的子模式
第五章 数据库设计
5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计
数据库技术的研究领域
数据库管理系统软件的研制(×)
DBMS的研制包括DBMS本身以及以DBMS为核心的饿一组相互联系的软 件系统。目标是扩大功能、提高性能和用户的生产率。
5.2 需求分析
5.数据库应用系统的数据字典 包括:
数据项 数据结构 数据流 数据存储 处理过程
5.2 需求分析
例:下图给出了某机器制造厂的零配 件采购子系统的数据流图。该子系统 要处理的工作是生产部门提出的生产 计划根据零配件当前价格计算成本送 主管部门审批,对已批准生产计划制 定采购计划,准备好订货单给供应商。
《数据库技术与应用》第5章 习题答案
第5章数据库完整性与安全性1. 什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系?解:数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。
数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
数据的完整性和安全性是两个不同的概念,但是有一定的联系:前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据.2。
什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束.静态列级约束是对一个列的取值域的说明,包括以下几个方面:①数据类型的约束,包括数据的类型、长度、单位、精度等;②对数据格式的约束;③对取值范围或取值集合的约束;④对空值的约束;⑤其他约束.静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。
常见的静态关系约束有:①实体完整性约束;②参照完整性约束;③函数依赖约束.动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:①修改列定义时的约束;②修改列值时的约束。
动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件.动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
3. 试述DBMS如何实现完整性控制.解:为了维护数据库的完整性,DBMS提供了以下三种机制:①完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件.SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。
(完整版)第五章_数据库完整性(习题)
(完整版)第五章_数据库完整性(习题)一、选择题1.完整性检查和控制的防范对象是( ),防止它们进入数据库。
安全性控制的防范对象是(),防止他们对数据库数据的存取。
A.不合语义的数据 B。
非法用户 C.不正确的数据 D.非法操作2.找出下面SQL命令中的数据控制命令().A。
GRANT MIT C.UPDATE D.SELECT3.下述SQL命令中,允许用户定义新关系时,引用其他关系的主码作为外码的是()。
A。
INSERT B。
DELETE C.REFERENCES D. SELECT4.下述SQL命令的短语中,不用于定义属性上约束条件的是()。
A.NOT NULL短语 B。
UNIQUE短语 C.CHECK短语 D。
HAVING短语二、填空题1.数据库的完整性是指数据的正确性和相容性.2.关系模型的实体完整性在CREATE TABLE中用 primary key 关键字来实现。
3.检查主码值出现不唯一和有一个为空违约情况时,则DBMS拒绝插入或修改。
4.关系模型的参照完整性在CREATE TABLE中用 foreign key关键字来实现。
5.当参照完整性检查出现违约情况时,则DBMS可以采用拒绝、级联和设置为空策略处理。
6.参照完整性的级连操作的关键字是cascade .7.在CREATE TABLE中定义属性上的约束条件,包括not null 、unique 和 check。
8.在CREATE TABLE中定义属性上的约束条件,检查列值唯一用unique 关键字。
9.关系模型的元组上的约束条件的定义,在CREATE TABLE中用check关键字来实现。
10.在Sno(学号)列上创建约束,要求Sno的值在18至22岁之间,约束名Sno_CK。
请写出对应的完整性命名子句constraintSno_CK primary key check(sno between 18 and 22)。
1.A C ;BD 2. A 3。
SQL Server数据库技术及应用教程(SQL Server 2016)第5章 数据库的创建与管理
• SQL Server 数据库具有以下三种类型的文件。
• (1)主数据文件
• 主数据文件是数据库的起点,指向数据库中的 其他文件。每个数据库都有一个主数据文件。 主数据文件的推荐文件扩展名是.mdf。例如, 某销售管理系统的主数据文件名为 Sales_data.mdf。
• (2)次要数据文件
在“常规”页中可以查看数据库的基本信息,包括:数 据库上次备份日期、名称、状态等。
在“文件”页和“文件组”页中可以修改数据库的所有 者。“文件”页如图5-14所示。 在“选项”页中,可以设置数据库的故障恢复模式和排 序规则。
“选项”页中的其他属性和“权限”页、“扩展属性”页、
“镜像”页等属性是数据库的高级属性,通常保持默认值 即可。如果要进行设置或定义可参考SQL Server 2016联机帮 助。
/*更改文件属性*/
|MODIFY NAME=新数据库名称
/*更改数据库名称*/
|MODIFY FILEGROUP 文件组名称{文件组属性|NAME=新文件组名称}
/*更改文件组属性,包括更改文件组名称*/
• ③ 显示“新建数据库”窗口,窗口左上方的“选择页” 框中有三个选项,分别对应“常规”页、“选项”页和 “文件组”页,这里只设置“常规”页,其他页使用系 统默认设置。
• 在“选择页”框中选择“常规”页,在窗口右侧将显示 相应的设置内容,在“数据库名称”框中填写要创建的 数据库名称“StudentMark”,也可以在“所有者”框 中指定数据库的所有者,如sa。这里使用默认值,其他 属性也按默认值设置,如图5-3所示。
• ② 单击“执行”按钮,然后在对象资源管理器中刷新, 展开“数据库”结点就能看到刚创建的Teacher数据库, 如图5-12所示。
第5章数据库窗体
5.1.5 控件(创建控件的方法)
2.创建控件的方法 (1)在基于记录源的窗体中,可以通过从字段列
表中拖动字段来创建控件。其中的字段列表是列出了 基础记录源或数据库对象中的全部字段的窗口。
(2)通过单击工具箱中某一控件按钮来直接创建 控件。
(3)在确保工具箱中的“控件向导”按钮按下后, 通过单击工具箱中某一控件按钮,并使用该控件向导 (当Access对该控件提供有控件向导时才可以使用该 控件向导)来创建控件。
在数据透视表视图中,可以动态地更改窗体的版面,从而 以各种不同方法分析数据。可以重新排列行标题、列标题和筛选 字段,直到形成所需的版面布置为止。每次改变版面布置时,窗 体会立即按照新的布置重新计算数据。 (5)数据透视图视图
在数据透视图视图中,可以动态地更改窗体的版面,从而 以各种不同方法分析数据。可以重新排列行标题、列标题和筛选 字段,直到形成所需的版面布置为止。每次改变版面布置时,窗 体会立即按照新的布置重新计算数据并显出对应的图表。
窗体属性决定窗体的结构、外观和行为。控件属 性决定控件的结构、外观和行为,以及其中所含文本 或数据的特性。
使用某一对象的“属性”对话框可以设置其属性。 在选定了窗体、节或控件后,单击工具栏中的“属性” 按钮,可以打开其“属性”对话框。
一般来说,Access 对各个属性都提供了相应的 默认值或空字符串,用户在打开某个对象的“属性” 对话框后,可以重新设置该对象的任一属性值。
页面页脚只出现在打印窗体中。 (5)窗体页脚节 窗体页脚节显示对每条记录都一样的信息,如命令按钮或有
关使用窗体的指导。打印时,窗体页脚出现在最后一个打印页的 最后一个主体节之后,最后一个打印页的页面页脚之前。
5.1.3 窗体的视图类型
数据库程序设计练习题参考答案
数据库程序设计练习题参考答案第1章Web应用程序设计与开发概述一、选择题1.C2.C3.C二、填空题1.IIS2.超文本标记语言3.文件头4.文件体三、简答题1.答:(1)准备Web服务器。
(2)安装操作系统。
(3)安装Web服务器应用程序。
(4)安装和配置脚本语言编辑工具。
(5)安装和配置后台数据库系统。
(6)设计数据库结构,创建数据库对象。
(7)设计Web应用程序,编写脚本语言代码。
(8)测试Web应用程序,通过测试后上线运行。
2.答:参照图1.2。
3.答:参照1.3.5小节。
第2章应用及开发环境配置一、选择题1.B2.A3.C4.B5.D二、填空题1.InternetInformationServer2.Default.htm3.Default.ap4.inde某.htm5.iitart.htm6.本地链接7.远程链接8..ap某三、操作题(略)第3章C#程序设计基础一、选择题1.C2.D3.C4.A5.A6.C7.B8.C二、填空题1.公共语言运行库2..NETFramework类库3.Sytem4.值类型5.引用类型6.类7.数组8.接口9.委托10.object11.tring12.do…while13.while14.for15.foreach 16.Sytem.E某ception三、问答题1.答:C#语言具有如下主要特点:(1)语法简洁与C++语言相比,C#的更加简单,更易于学习和掌握。
例如,在C#语言中,没有C++中经常用到的指针,用户也不允许直接进行内存操作。
在C++语言中,分别使用::、.和->来表示名字空间、成员和引用,对于新手而言,这些操作符的使用是比较复杂的事情。
这些在C#语言中都被“.”所替代,现在只需要把它作为名字嵌套而已。
这里只是举了两个简单的例子,其他语法方面的简化需要读者在学习过程中去体会。
(2)更完善的面向对象程序设计机制C#语言具有面向对象程序设计思想的一切机制,包括封装、继承与多态等。
Oracle11g数据库基础教程-参考答案
Oracle11g数据库基础教程参考答案第1章Oracle 11g数据库安装与配置1.简答题(1)企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。
(2)常用数据库类型包括事务处理类、数据仓库类以通用类型。
其中事务处理类型主要针对具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。
事务处理数据库的典型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。
对于需要较高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的对某个主题进行复杂查询的应用环境。
数据仓库的典型应用有客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的历史数据研究。
对于需要对大量数据进行快速访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库是事务处理数据库与数据仓库配置的折衷方案。
既可以支持大量并发用户的事务处理,又可以快速对大量历史数据进行复杂的数据扫描和处理。
(3)数据库名可以由字母、数字、下划线(_)、#和美元符号($)组成,且必须以字母开头,长度不超过30个字符。
在单机环境中,可以不设置域名,域名长度不能超过128个字符。
Oracle服务标识符(SID)是一个Oracle实例的唯一名称标识,长度不能超过12个字符。
(4)● OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务,是数据库启动的基础,只有该服务启动,Oracle数据库才能正常启动。
第五章 数据库设计
运动会方面,实体集包括:运动员(编号,姓名,性别,队 伍号),比赛项目(项目名,比赛场地)。其中,一个比赛项 目可供多名运动员参加,一名运动员可参加多个项目。
根据上述条件,分别设计运动队和运动会两个局部E-R图。
第三节 概念结构设计 参赛项目 性别 队伍号 队伍名 教练名 运动员 性别 队伍号 运动员 m 参加 n n 属于
第三节 概念结构设计 分解变换。如果实体集的属性较多,可以进行分解。例如, 对于员工实体集,其属性为员工号、姓名、性别、生日、(所 属)支行名、岗位、工资、奖金。 性别 生日 支行名 岗位 工资 奖金
姓名 员工号 员工
第三节 概念结构设计 可以把员工信息分解为两部分,一部分属于固定信息,一部 分属于变动信息。为了区别这两部分信息,产生一个新的实体 和一个新的联系。
在视图合并阶段,设计者把所有视图有机地合并成统一的概 念模型,这个最终的概念模型支持所有的应用。
第三节 概念结构设计 概念结构设计的策略主要分为自顶向下、自底向上、自内向 外和混合策略四种。 这些方法中最常用的是自底向上方法:首先设计局部概念模 式,然后综合局部概念模式成全局概念模式,最后对全局概念 模式进行评估和优化。
P2 P1 D2明细 D3账目 E2会 E1客 D1付款 打印账目 账务处理 单 户 计
第二节 需求分析 元数据是描述数据的数据,通常由数据结构的描述组成,主 要描述数据及其使用环境,例如数据精度、来源、产生时间、 使用范围、注解等。 数据字典是一种用户可以访问的、记录数据库和应用程序元 数据的集合,通常是用来解释数据表、数据字段等数据结构的 意义,数据字段的取值范围、数据值代表的意义等。 简而言之,数据字典是描述数据的信息集合,是系统中所有 数据的定义集合。
数据字典通常由数据项、数据结构、数据流、数据存储和处 理过程组成。
第5章 数据库应用程序设计
5.1 数据库基础知识
客户/服务器数据库系统结构
这类型数据库的特点是:适合于网络应用,可以同时 被多个用户所访问,数据库管理系统可以赋予不同的用户 以不同的安全访问权限,支持的数据量大,能完全地支持 SQL语言。
5.1 数据库基础知识
5.1.3 常用 常用SQL语句 语句 1. SELECT语句 SELECT语句可以从数据库中按用户要求检索数据,并 将查询结果以表格的形式返回。 SELECT语句的语法形式如下: SELECT [ ALL | DISTINCT ] [ TOP n [ PERCENT ] ] 字
5.1 数据库基础知识
6. 数据库应用程序的设计 数据库应用程序的设计包括两个部分: (1) 数据库设计 (2) 应用程序设计。 5.1.2 数据库产品简介 VFoxPro、Access、Paradox等属于单用户版数据库产 品。这类数据库的数据被按照一定格式储存在磁盘里,使 用时由应用程序通过相应的驱动程序甚至直接对数据文件 进行读取。 MS SQL Server、Oracle Universal Server、InformixUniversal Server等属于大型数据库。这类数据库的数据集 中存放服务器上,统一由运行在服务器上的数据库服务程 序管理,用户使用客户端软件通过网络访问数据库服务程序 。
5.1 数据库基础知识
(1) 数据定义功能 (2) 数据操纵功能 (3) 数据库的运行管理 (4) 数据库的建立和维护功能 (5) 数据库通信功能 4. 数据库系统 数据库系统(DataBase System,简称为DBS)是指在 计算机系统中引入数据库后的系统构成,一般由数据库、 数据库管理系统及其开发工具、应用系统构成。如图5-1所 示。
5.2 数据库应用程序结构
第5章 创建数据库
第5章创建数据库创建数据库就是为数据库确定名称、大小、存放位置、文件名和所在文件组的过程。
在一个SQL Server 2008实例中,最多可以创建32767个数据库,数据库的名称必须满足系统的标识符规则。
在命名数据库时,一定要使数据库名称简短并有一定的含义。
在SQL Server 2008中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用现有命令和功能,通过方便的图形化向导创建;二是通过编写Transact-SQL 语句创建。
5.1使用图形化向导创建SQL Server Management Studio是SQL Server系统运行的核心窗口,它提供了用于数据库管理的图形工具和功能丰富的开发环境,方便数据库管理员及用户进行操作。
首先来介绍如何使用SQL Server Management Studio来创建自己的用户数据库。
在SQL Server 2008中,通过SQL Server Management Studio创建数据库是最容易的方法,对初学者来说简单易用。
下面以创建本书的示例数据库【图书管理系统(BookDateBase)】数据库为例,对这种方法作详细介绍。
具体的操作步骤如下所示:(1)从【开始】菜单中选择【程序】|Microsoft SQL Server 2008|SQL Server Manage ment Studio命令,打开Microsoft SQL Server Management Studio窗口,并使用Windows 或SQL Server身份验证建立连接。
如图5-1所示。
图5-1连接服务器身份验证(2)在【对象资源管理器】窗格中展开服务器,然后选择【数据库】节点。
(3)在【数据库】节点上右击,从弹出的快捷菜单中选择【新建数据库】命令,如图5-2所示。
图5-2选择【新建数据库】命令(4)执行上述操作后,会弹出【新建数据库】对话框,如图5-3所示。
第五章-Access数据库窗体和控件
3. 数据表式窗体
数据表式窗体的实质就是窗体的“数据表” 视图,它看上去像Excel的工作表,能显示大量的 数据,并可以执行Excel的一些操作 。
4. 主/子表式窗体
主/子表式窗体是在主窗体嵌入了子窗体的窗 体。通常情况下,主窗体中的数据与子窗体中的 数据是相关联的。
5.2 创建窗体
窗体的 “新建窗体”对话框提供了 创建窗体的方法。
• 页面页脚:在每一页的底部,用来显示页面摘要、 页码、日期和本页汇总数据等信息。
5.1.3 窗体的视图
• Access2000数据库的窗体有3种视图: 设计视图、窗体视图、数据表视图
(Access2002还有数据透视表和数据透视图)。
• 在“数据库”窗口的“窗体”对象中选定某 个窗体后,单击窗口上部的“打开”或“设 计”按钮就进入了窗体的“窗体”视图或 “设计”视图。
选择对象:当该工具被启用时,可以在窗体中移动控件 或改变它的尺寸。在默认状态下该工具是被启用的,选 择其他工具时,该工具将被暂停使用。
控件向导:单击该工具可启用“控件向导”。带有 “控件向导”的控件包括:组合框、命令按钮、标签、 列表框、选项组和子窗体/子报表。启用“控件向导” 后再向窗体添加控件时,系统会打开相应的“控件向 导”对话框,为设计控件的相关属性提供方便。
单的设置让其显示或隐藏。
• 主体:是窗体的主要组成部分,用来显示窗体数 据源中的记录。
• 窗体页眉:是窗体的首部,用来显示窗体标题、 窗体徽标、命令按钮和说明性文字等用于显示不 随记录改变的信息。
• 窗体页脚:是窗体的尾部,作用与窗体页眉相同。
• 页面页眉:在每一页的顶部,用来显示列标题、 页码、日期等信息。
• 工具箱、字段列表和“属性”窗口都可以根据需要 让其显示或隐藏。
Access应用技术教程第5章 Access查询及其应用
上一页 下一页 退出
《Access数据库应用基础及实训教程》
(2) 添加数据表。 在【显示表】对话框中,单击建立查询所需的数据表。若 要添加多个数据表,可以按住Ctrl键,同时选择多个数据表, 如图5.12所示。然后单击【添加】按钮,将数据表添加到查询 对话框中。也可以通过双击所需的数据表的方法添加数据表。
上一页 下一页 退出
《Access数据库应用基础及实训教程》
(1) 删除查询:删除查询可以从一个或多个表中删除一组记录 (2) 更新查询:更新查询可以对一个或多个表中的一组记录作 全局的更改,使用更新查询,可以更改已有表中的数据。 (3) 追加查询:追加查询将一个或多个表中的一组记录添加到 一个或多个表的末尾。 (4) 生成表查询:生成表查询可以根据一个或多个表中的全部 或部分数据新建表。生成表查询有助于创建表以导出到其 他Microsoft Access数据库。 5.SQL查询 SQL即结构化查询语言,SQL查询是使用SQL语句创建的 查询。可以使用SQL语句来查询、更新和管理Access数据库。 Access中所有查询都可以认为是一个SQL查询,在其他查询提 供的创建工具中,虽然不用输入SQL语句,但系统最终都将自 动生成SQL查询。
上一页 下一页 退出
《Access数据库应用基础及实训教程》
本章重点分析选择查询和SQL查询,其他查询使用机会较 少,请参考帮助系统学习其操作方法。 5.1.2 查询的功能 如果“隐藏”数据表中不需要显示或打印的列,然后显示 或打印数据表中的数据,这样也能完成类似查询的功能,但是 这样做只能从一个数据表选择所需的数据,而不能保存结果。 而使用查询可以按照不同的方式查看、更改和分析数据。也可 以用查询作为窗体、报表和数据访问页的记录源。查询的主要 功能如下: (1) 选择字段:从数据表选择所需的部分字段。 (2) 选择记录:从数据表中选择符合规定条件的部分记录。 (3) 排序记录:对数据表的数据进行重新排序,按新的顺序浏 览记录。 (4) 修改数据:采用查询可以一次修改、删除或增加一组相关 的记录。 (5) 建立新表:采用生成表查询,可以根据查询结果新建一个 查询结果表。
数据库原理与应用 第5章答案解析肖海蓉、任民宏
第5 章网络数据库管理系统SQL Server 2012课后习题参考答案1、简答题(1)简述组成SQL Server 2012 数据库的三种类型的文件。
答:SQL Server 数据库文件根据其作用的不同,可以分为主数据文件、次数据文件、事务日志文件3 种类型。
①主数据文件(primary file):主数据文件是数据库的起点,指向数据库文件的其他部分。
主数据文件是用来存放数据和数据库的初始化(启动)信息和部分或全部数据,是SQL Server 数据库的主体,它是每个数据库不可缺少的部分,每个数据库有且仅有一个主数据文件,用户数据和对象也可以存储在此文件中,主数据文件的文件扩展名为.mdf。
②次数据文件(secondary file):用来存储主数据文件没有存储的其他数据和对象。
如果数据库中的数据量很大,除了将数据存储在主数据文件中以外,还可以将一部分数据存储在次数据文件中;如果主数据文件足够大,能够容纳数据库中的所有数据,则该数据库不需要次数据文件。
使用次数据文件是因为数据量太过庞大,可以将数据分散存储在多个不同磁盘上以方便进行管理、提高读取速度。
次数据文件的扩展名为.ndf。
③事务日志文件(transaction log file):用来记录数据库更新情况的文件,SQL Server 2012具有事务功能,可以保证数据库操作的一致性和完整性,用事务日志文件来记录所有事务及每个事务对数据库进行的插入、删除和更新操作。
事务日志是数据库的重要组件,如果数据库遭到破坏,可以根据事务日志文件分析出错的原因;如果数据丢失,可以使用事务日志恢复数据库内容。
每个数据库至少拥有一个事务日志文件,也可以拥有多个日志文件。
事务日志文件的文件扩展名为.ldf。
(2)SQL Server 2012 有哪些系统数据库,它们的作用是什么?SQL Server 2012 中主要包括master、model、tempdb 和msdb 四个系统数据库。
第五章 数据库的创建与管理
数据库教案
物理存储结构
• 至少有一个主文件组,主文件组中包含了所有的 系统表,当建立数据库时,主文件组包括主数据 库文件和未指定组的其他文件。
• 事务日志文件文件不属于任何一个文件组。
数据库教案
• [例5-1]:创建一个只含一个数据文件和一个事务日志文件的数据库 • 数据库名为JWGL1, • 主数据库文件逻辑名称为jwgl1_data – 数据文件的操作系统名称jwgl1.mdf – 数据文件初始大小为5MB, – 最大值为500MB, – 数据文件大小以10%的增量增加。 • 日志逻辑文件名称jwgl1_log.ldf, – 事务日志的操作系统名称jwgl1.ldf, – 日志文件初始大小为5MB, – 最大值100MB, – 日志文件以2MB增量增加。
数据库的类型
了解系统数据库和用户数 系统数据库、文件存储位置、 据库的基本功能、存 默认扩展名、基本功能、 储信息 存储信息、属性
掌 握 使 用 SSMS 和 T-SQL 数据库的创建 数据文件、事务日志文件、 创建、修改与删除数 与管理 文件组、数据库属性 据库的方法 数 据 库 中 的 对 了解数据库中的对象及主 象 要对象的功能与作用 数据库关系图、表、视图、 可编程性、存储、安全 性
数据库教案
5.1 数据库简介
5.1.1 SQL Server 2005的数据库类型
1
2 系统数据库
用户数据库
数据库教案
系统数据库
1. 2. 3.
master数据库 model数据库 msdb数据库
4.
tempdb数据库
数据库教案
Master数据库
SQL Server中最重要的数据库,存储SQL Server中的系统级信息 包括所有的登录账户信息、初始化信息和 其它数据库的相关信息。 系统根据mas系统将受到影响
数据库第5章习题参考答案
第5章习题解答1.选择题(1)为数据表创建索引的目的是_______。
A.提高查询的检索性能B.节省存储空间C.便于管理D.归类(2)索引是对数据库表中_______字段的值进行排序。
A.一个B.多个C.一个或多个D.零个(3)下列_______类数据不适合创建索引。
A.经常被查询搜索的列B.主键的列C.包含太多NULL值的列D.表很大(4)有表student(学号, 姓名, 性别, 身份证号, 出生日期, 所在系号),在此表上使用_______语句能创建建视图vst。
A.CREATE VIEW vst AS SELECT * FROM studentB.CREATE VIEW vst ON SELECT * FROM studentC.CREATE VIEW AS SELECT * FROM studentD.CREATE TABLE vst AS SELECT * FROM student(5)下列_______属性不适合建立索引。
A.经常出现在GROUP BY字句中的属性B.经常参与连接操作的属性C.经常出现在WHERE字句中的属性D.经常需要进行更新操作的属性(6)下面关于索引的描述不正确的是_______。
A.索引是一个指向表中数据的指针B.索引是在元组上建立的一种数据库对象C.索引的建立和删除对表中的数据毫无影响D.表被删除时将同时删除在其上建立的索引(7)SQL的视图是_______中导出的。
A.基本表B.视图C.基本表或视图D.数据库(8)在视图上不能完成的操作是_______。
A.更新视图数据B.查询C.在视图上定义新的基本表D.在视图上定义新视图(9)关于数据库视图,下列说法正确的是_______。
A.视图可以提高数据的操作性能B.定义视图的语句可以是任何数据操作语句C.视图可以提供一定程度的数据独立性D.视图的数据一般是物理存储的(10)在下列关于视图的叙述中,正确的是_______。
数据库模式对象
1.添加PRIMARY KEY约束
2.删除PRIMARY KEY约束
删除列上的PRIMARY KEY约束,需要使用ALTER TABLE … DROP语句,不过形式上只能采取指定约 束名的方式,如下:
ALTER TABLE table_name DROP CONSTRAIN constraint_name;
ALTER TABLE table_name MODIFY column_name NULL;
20
5.3.3 UNIQUE约束
在创建表时,为列添加UNIQUE约束,形式如下:
1.添加UNIQUE约束
column_name data_type [ CONSTRAINT constraint_name ] UNIQUE [ CONSTRAINT constraint_name ] UNIQUE(column_name)
12
5.1.5 移动表
SQL> ALTER TABLE person MOVE TABLESPACE users; 表已更改。
下面使用ALTER TABLE语句将其移动到users表空间 中,如下:
再次查询数据字典user_tables,观察person表是否已 经移动成功,如下:
13
5.1.6 截断表
截断表可以快速删除表中的所有行, Oracle会重置表的存储空间,并且不会在 撤消表空间中记录任何撤消数据,也就是 说无法进行数据撤消。截断表的语法如下: TRUNCATE TABLE table_name; 【例5.10】截断person表,如下: SQL> TRUNCATE TABLE person; 表被截断。
另一种是直接使用RENAME语句,语法如下:
SQL Server数据库管理教程 第5章
认情况下,SQL Server 2012会将文件存储 于C:\Program Files\Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA文件夹中,单击“路径”选项右边的 按钮,在弹出的对话框中可为数据文件或日
志文件指定其他路径。
4)在“选项”选项页中,可以定义所创建数据库的排序规则、恢复模 式、兼容级别等选项。在此均保持默认选项。 5)在“文件组”选项页中,可以查看数据库中现有的文件组,也可以 分别通过“添加”和“删除”按钮添加和删除文件组 6)全部设置完毕后,单击“确定”按钮即可完成jw数据库的创建。
3)通过ALTER语句来增加数据库容量。
【例5-5】 使用Transact-SQL语句将jw数据库的主数据文件jw.mdf 的初始大小设置为5 MB。 ALTER DATABASE jw MODIFY FILE (NAME=jw_data, SIZE=5MB)
3.收缩数据库容量
收缩数据库的方式有以下三种。
逻辑名:表示相应数据文件的逻辑名称,它必须在数据库中是唯一的,
且须符合标识符命名规则。
文件类型:其中“数据”表示数据文件,“日志”表示日志文件。 文件组:用于存放数据文件的文件组。默认情况下,数据文件存放于
PRIMARY文件组中,日志文件不属于任何一个文件组。
初始大小:文件的初始大小。需注意的是,主数据文件的初始大小至少
FILENAME='path'
[,SIZE=database_size] [,MAXSIZE=database_maxsize]
[,FILEGROWTH=growth_increment])
[,FILEGROUP filegroup_name [(NAME=datafile_name,
第五章 DSS的数据库、方法库和知识库 决策支持系统课件
方法库系统的基本结构(5/5)
用户 系统管理员界面 程序员界面 终端用户界面 界面
模型库系统
方法库管理系统
操作 系统
系统缓冲区
外部 数据库
内部 数据库
方法 字典
源码库
一种方法库系统的结构图
目标 码库
5.3 DSS的方法库(9/13)
(/)
和 实 现 方 法
方 法 库 系 统
1的
2技
术
构
成
相应于交互式用户接 3层 口,包括进行语法、
而包含不同来源数知据识库管可理为同一个
外部 数据库
会话部件应用服务用。户 作用:一是通过查询、统计及分析
为管理决策者提供决策信息支持; DSS中数据库系统二的是构为模型运行提供或存储数据。 架
5.1 DSS的数据库系统(5/9)
DSS数据库系统的组成(4/7)
数据库管理系统(DBMS)是用来提供 个数人据存删信取除息库、。中操数纵据、数的存据功 储析能 和取。 检可 索用 数于 据D数 库S修库据 或S改中、的
模型库系统
方法库管理系统
外部 数据库
操作 系统
系统缓冲区
内部 数据库
方法 字典
源码库
一种方法库系统的结构图
目标 码库
是方法库自带的数据 库,用于存放输入的 数据及经过方法加工 后的输出数据。
该库中的数据可从外 部数据库通过系统连 接传送过来,也可以 由用户自己输入。
5.3 DSS的方法库(8/13)
•关于DSS数据库操作的有关问题(提供随机存取 操作,响应时间要快,提供支持关系与视图的设施)
关键 •关于与DSS其他部分接口的问题(转换接口部分) 问题
5.3 DSS的方法库(1/13)
数据库第5章
1-6 郑州轻工业学院软件职业技术学院
总的来说计算机安全涉及的问题
计算机系统本身的技术问题
计算机安全理论与策略
计算机安全技术
管理问题
安全管理 安全评价 安全产品
数据库原理
1-7 郑州轻工业学院软件职业技术学院
计算机安全涉及问题(续)
法学
计算机安全法律
犯罪学
计算机犯罪与侦察 安全监察
能访问他有权存取的数据,必须预 先对每个用户定义存取权限。
检查存取权限
对于通过鉴定获得上机权的用户
(即合法用户),系统根据他的存 取权限定义对他的各种操作请求进 行控制,确保他只执行合法操作。
数据库原理
1-22 郑州轻工业学院软件职业技术学院
常用存取控制方法
自主存取控制(Discretionary Access
5.3.2 授权(Authorization)与回收
在数据库系统中,定义用户存取权限称为授权 (Authorization)。 第三章讨论 SQL 的数据控制功能时,我们已知道授权有两种: 系统特权和对象特权。 系统特权是由DBA授予某些数据库用户,只有得到系统特 权,才能成为数据库用户。 对象特权可以由DBA授予,也可以由数据对象的创建者授 予,使数据库用户具有对某些数据对象进行某些操作的 特权。 在系统初始化时,系统中至少有一个具有DBA特权的用户,DBA 可以通过GRANT语句将系统特权或对象特权授予其他用户。 对于已授权的用户可以通过REVOKE语句收回所授予的特权。
用户标识和鉴定的方法有多种,为了获得更强的安全性, 往往是多种方法并举,常用的方法有以下几种:
数据库原理
1-18 郑州轻工业学院软件职业技术学院
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
索引已创建。
ORACLE 10g
第5章 其他数据库对象 步骤2:查询中引用索引: SELECT ENAME,JOB,SAL ENAME='SCOTT';
WEPULL ORACLE 10g
FROM
EMP
WHERE
执行结果:
ENAME JOB SAL
------------ ------------------- --------------------
ORACLE 10g
第5章 其他数据库对象 【训练2】 显示索引的列。
WEPULL ORACLE 10g
SELECT COLUMN_NAME FROM USER_IND_COLUMNS WHERE INDEX_NAME='EMP_JOBSAL';
执行结果:
COLUMN_NAME --------------------------------------------------------------------------------
CYCLE和NOCYCLE 表示当序列生成器的值达到限制值后是否循 环。CYCLE代表循环,NOCYCLE代表不循环。如果循环,则当递增序 列达到最大值时,循环到最小值;对于递减序列达到最小值时,循环到 最大值。如果不循环,达到限制值后,继续产生新值就会发生错误。 CACHE( 缓 冲 ) 定 义 存 放 序 列 的 内 存 块 的 大 小 , 默 认 为 20 。 NOCACHE表示不对序列进行内存缓冲。对序列进行内存缓冲,可以改 善序列的性能。
WEPULL ORACLE 10g
INDEX_NAME -------------------------------------- ---------------------------------------- ---------------------------------EMP_JOBSAL NORMAL NONUNIQUE PK_EMP NORMAL UNIQUE 说明:由本训练可见,emp表共有两个索引,其中EMP_JOBSAL 是刚刚创建的,属于非惟一索引。PK_EMP为生成主键时系统创建的 索引,属于惟一索引。
ORACLE 10g
第5章 其他数据库对象
WEPULL ORACLE 10g 表5-1 Oracle数据库模式对象
对
象
名 表 视图 索引 聚簇 序列 同义词 数据库链接
称
作
用
TABLE VIEW INDEX CLUSTER SEQUENCE SYNONYM DATABASE LINK STORED PROCEDURE、 FUNCTION PACKAGE 、 PACKAGE BODY TRIGGER
第5章 其他数据库对象
WEPULL ORACLE 10g
第5章 其他数据库对象
5.1 数据库模式对象
5.2 索引 5.3 序列
5.4 同义词
5.5 聚簇 5.6 数据库链接
5.7 练习
ORACLE 10g
第5章 其他数据库对象
WEPULL ORACLE 10g
5.1 数据库模式对象
Oracle数据库的模式对象如表5-1所示。
引关键字。
ORACLE 10g
第5章 其他数据库对象 5.2.2 索引的创建
WEPULL ORACLE 10g
创建索引不需要特定的系统权限。建立索引的语法如下: CREATE [{UNIQUE|BITMAP}] INDEX 索引名 ON 表名(列名1[, 列名2,...]); 其中: UNIQUE代表创建惟一索引,不指明为创建非惟一索引。 BITMAP 代表创建位图索引,如果不指明该参数,则创建B*树索 引。 列名是创建索引的关键字列,可以是一列或多列。
ORACLE 10g
第5章 其他数据库对象 CREATE SEQUENCE 序列名 [INCREMENT BY n]
WEPULL ORACLE 10g
[START WITH n]
[{MAXVALUE n|NOMAXVALUE}] [{MINVALUE n|NOMINVALUE}]
[{CYCLE|NOCYCLE}]
FROM
EMP
WHERE
JOB='CLERK';
但以下查询不会引用索引,因为没有先引用索引关键字的主 键: SELECT ENAME,JOB,SAL FROM EMP WHERE SAL>2500;
ORACLE 10g
第5章 其他数据库对象 5.2.3 查看索引
WEPULL ORACLE 10g
通过查询数据字典USER_INDEXES可以检查创建的索引。
存储过程和函数 包和包体 触发器
ORACLE 10g
第5章 其他数据库对象
WEPULL ORACLE 10g
5.2 索引
5.2.1 Oracle数据库的索引 索引(INDEX)是为了加快数据的查找而创建的数据库对象, 特别是对大表,索引可以有效地提高查找速度,也可以保证数据 的惟一性。索引是由Oracle自动使用和维护的,一旦创建成功, 用户不必对索引进行直接的操作。索引是独立于表的数据库结构, 即表和索引是分开存放的,当删除索引时,对拥有索引的表的数 据没有影响。
说明:在本例中创建的是包含两列的复合索引。JOB是主键, SAL是次键。WHERE条件中引用了JOB和SAL,而且是按照索引关 键字出现的顺序引用的,所以在查询中,索引会被引用。
ORACLE 10g
第5章 其他数据库对象 如下的查询也会引用索引: SELECT ENAME,JOB,SAL
WEPULL ORACLE 10g
[{CACH第5章 其他数据库对象 其中:
WEPULL ORACLE 10g
INCREMENT BY 用于定义序列的步长,如果省略,则默认 为1,如果出现负值,则代表序列的值是按照此步长递减的。 START WITH 定义序列的初始值(即产生的第一个值),默认 为1。 MAXVALUE 定 义 序 列 生 成 器 能 产 生 的 最 大 值 。 选 项
号不变。修改序列的语法如下:
ORACLE 10g
第5章 其他数据库对象 ALTER SEQUENCE 序列名 [INCREMENT BY n]
WEPULL ORACLE 10g
[{MAXVALUE n|NOMAXVALUE}] [{MINVALUE n|NOMINVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}];
SCOTT
ANALYST
3000
步骤3:删除索引: DROP INDEX EMP_ENAME;
执行结果:
索引已丢弃。
ORACLE 10g
第5章 其他数据库对象
WEPULL ORACLE 10g
说明:本例创建的是B*树非惟一简单索引。索引关键字列是 ENAME。在步骤2中,因为WHERE条件中出现了索引关键字,所以 查询中索引会被自动引用,但是由于行数很少,因此不会感觉到查询 速度的差别。 【训练2】 创建复合索引。 步骤1:创建复合索引:
步骤2:删除序列:
DROP SEQUENCE ABC;
ORACLE 10g
第5章 其他数据库对象 执行结果: 序列已丢弃。
WEPULL ORACLE 10g
ORACLE 10g
第5章 其他数据库对象 删除索引的语法是: DROP INDEX 索引名;
WEPULL ORACLE 10g
删除索引的人应该是索引的创建者或拥有DROP ANY INDEX系
统权限的用户。索引的删除对表没有影响。 【训练1】 创建和删除索引。 步骤1:创建索引: CREATE INDEX EMP_ENAME ON EMP(ENAME); 执行结果:
NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递
增序列,系统能够产生的最大值是10的27次方;对于递减序列, 最大值是-1。
ORACLE 10g
第5章 其他数据库对象
WEPULL ORACLE 10g
MINVALUE 定 义 序 列 生 成 器 能 产 生 的 最 小 值 。 选 项 NOMAXVALUE是默认选项,代表没有最小值定义,这时对于递减序列, 系统能够产生的最小值是?10的26次方;对于递增序列,最小值是1。
ORACLE 10g
第5章 其他数据库对象 【训练1】 创建和删除序列。 步骤1:创建序列:
WEPULL ORACLE 10g
CREATE SEQUENCE ABC INCREMENT BY 1 START WITH 10
MAXVALUE 9999999 NOCYCLE NOCACHE;
执行结果: 序列已创建。
ORACLE 10g
第5章 其他数据库对象
WEPULL ORACLE 10g
在创建PRIMARY KEY和UNIQUE约束条件时,系统将自动 为相应的列创建惟一(UNIQUE)索引。索引的名字同约束的名字一 致。 索引有两种:B*树索引和位图(BITMAP)索引。 B*树索引是通常使用的索引,也是默认的索引类型。在这里 主要讨论B*树索引。B*树是一种平衡2叉树,左右的查找路径一
CREATE INDEX EMP_JOBSAL ON EMP(JOB,SAL);
执行结果: 索引已创建。
ORACLE 10g
第5章 其他数据库对象 步骤2:查询中引用索引:
WEPULL ORACLE 10g
EMP WHERE
SELECT ENAME,JOB,SAL FROM JOB='MANAGER'AND SAL>2500; 执行结果: ENAME JOB SAL -------------- --------------------- ----------------BLAKE MANAGER 2850 CLARK MANAGER 2850 JONES MANAGER 2975