数据库课件 9

合集下载

第9章 创建数据库

第9章 创建数据库
13
9.1 创建和打开数据库
5) 使用Transact-SQL语言创建数据库
CREATE DATABASE database_name /*指定数据库名*/ [ON子句 ] /*指定数据库中数据文件和文件组属性*/ [LOG ON子句 ] /*指定日志文件属性*/
各参数的含义:database_name 所创建的数据库逻辑名称,其命名规则与一般高级 语言的标识符相同,最大长度为128个字符。
Alter Database usedb Add Log File (Name=add_use1_log, FileName= 'd:\sql\addlog1.ldf', Size=2,Maxsize=50,FileGrowth=10%)
25
9.2 修改数据库
1) 改变数据库定义
(2) 使用Transact-SQL修改数据库 例9-8 更改数据库usedb中文件add_use2的初始大小为10M 程序清单:
(2) 使用Transact-SQL修改数据库
使用ALTER DATABASE 命令可以对数据库的选项进行修改。 ALTER DATABASE命令的基本格式为:
ALTER DATABASE database_name {ADD FILE <filespec>[,…n] /*在文件组中增加数据文件*/ [TO FILEGROUP filegroup_name] | REMOVE FILE file_name /*删除数据文件*/ | ADD LOG FILE <filespec>[,…n] /*增加日志文件*/ | REMOVE FILE log_ file_name /*删除日志文件*/ | ADD FILEGROUP filegroup_name /*增加文件组*/ | REMOVE FILEGROUP filegroup_name /*删除文件组*/

ACCESS实例教程(数据库的编程)--ppt课件全

ACCESS实例教程(数据库的编程)--ppt课件全

Set db=ws.OpenDatabase(数据库的地址与文件名) ' 打开数据库
Set rs=db.OpenRecordSet(表名、查询名或SQL语句) ' 打开记录集
ppt课件 ACCESS实例教程 9
Do While not rs.EOF ' 循环遍历整个记录集直至记录集末尾
……
' 对字段的各种操作
Access实例教程
ppt课件
1
ACCESS实例教程
——数据库编程(第9章)
ppt课件
2
本章要点: 1,用ADO访问数据库 2,用DAO访问数据库 3,程序运行错误处理
ppt课件 ACCESS实例教程 3
9.1 VBA数据库访问接口
VBA数据库访问接口是指VBA与后台数据库的连接部分, 也就是VBA与Access数据库连接的方法。
ppt课件 ACCESS实例教程 22
(5)转到窗体视图,如果输入的编号与表中的编号有重复,单 击命令按钮后显示消息框,输入的信息不能追加到表中。
mandType=查询类型
'指定命令对象的查询类型
mandText=查询字符串
'建立命令对象的查询字符串
rs. Open cm, 其他参数
'打开记录集
do while not rs.EOF
'循环开始
……
'对字段的各种操作
rs.movenext
'记录指针移到下一条
loop
'返回到循环开始处
作区和打开数据库两条语句用下面一条语句代替:
Set db = CurrentDb()
该语句是Access的VBA给DAO提供的数据库打开快捷方式。

第10章 数据库设计基础PPT课件

第10章 数据库设计基础PPT课件
– 模式/内模式影响是唯一的。
20
应用程序 1
应用程序 2
应用程序 2
外模式 1
外模式 2
外模式(用户级数据库)
外 模 式 /模 式 映 射
模 式(概念级数据库)
模式 模 式 /内 模 式 映 射
内模式(物理级数据库)
内模式
物理数据 库
DBMS
操作系统
21
关系模型(重点)
实体和联系均用二维表来表示的数据模型称之为关系数 据模型。一张二维表,由行和列组成。目前应用最广泛。
(2)模式 ( Schema,也称逻辑模式或概念模式) – 数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共
数据视图,是数据库系统模式结构的中间层。 – 一个数据库只有一个模式。
18
(3)内模式(也称存储模式)
– 数据库在物理存储器上具体实现的描述,是数据在数 据库内部的表示方法,也是数据物理结构和存储方式 的描述。
上面特点就使得用层次模型表示1:n联系非常简便,这 是它的突出优点,但是它不能直接表示m:n的联系。
16
网状模型
用树状结构表示实体及实体间的联系。
网状模型有如下几个特点: (1)可以有一个或多个结点没有父亲结点。 (2)至少有一个结点有多个父亲结点。
17
三、数据库系统的体系结构(三级模式、二级映射)
第10章 数据库设计基础
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
2
本章主要内容
数据库系统的概述 数据库系统工作原理 关系数据库 数据库设计
3

数据库技术与应用—SQL_Server_2008(第2版)第9章_视图

数据库技术与应用—SQL_Server_2008(第2版)第9章_视图



【例9.1】建立计算机系学生的视图。 CREATE VIEW vw_Stu_jsj1 AS SELECT studentID, studentName, sex, speciality FROM Student WHERE speciality = '计算机' 本查询省略了视图列名,隐含为与 SELECT 语句中的列相同 的名称。
参数说明

column:视图中的列使用的名称。


组成视图的列名要么全部省略要么全部指定,没有第三 种选择。如果省略了视图的各个列名,则视图列将获得 与SELECT语句中的列相同的名称。 但是对于下列情况,必须在视图定义中指定每列的名称: 视图中有任何从算术表达式、内置函数或常量派生出 的列。 视图中两列或多列具有相同名称(通常由于视图定义 包含联接,而来自两个或多个不同表的列具有相同的 名称)。 希望使视图中的列名与它的源列名不同。这时也可以 在视图中重命名列。无论重命名与否,视图列都会继 承其源列的数据类型。
9.4 通过视图查询数据

视图定义好后,用户就可以像对基本表一样对视图进行查 询了。 【例9.7】在计算机系学生的视图中找出所有女生信息。
SELECT studentID, studentName, sex FROM vw_Stu_jsj1 WHERE sex= '女‘


系统执行对视图的查询时,首先进行有效性检查,以确认 查询中涉及到的表、视图等是否存在。如果存在,则从数 据字典中取出视图的定义,把定义好的子查询和用户的查 询结合起来,转换成等价的对基本表的查询。 例如,本例的查询就相当于执行了下面的SQL语句:
视图的分类


Oracle数据库管理与开发第9章 系统安全管理

Oracle数据库管理与开发第9章 系统安全管理

INSERT
SELECT
UPDATE
创建用户角色
创建用户角色的语法:
create role role_name [ not identified | identified by [password] | [exeternally] | [globally]]
试一试
创建一个名为designer的角色,该角色的口令为123456
创建用户
试一试
创建一个mr用户,口令为mrsoft,并设置默认的表空间为users,临时表 空间为temp的用户。
SQL> create user mr identified by mrsoft default tablespace users temporary tablespace temp;
安全特性
3.过程安全 过程方案的对象权限(其中包括独立的过程、函数和包)只有EXECUTE权限,将这个权限 授予需要执行的过程或需要编译另一个需要调用它的过程。 (1)过程对象。具有某个过程的EXECUTE对象权限的用户可以执行该过程,也可以编译引 用该过程的程序单元。过程调用时不会检查权限。具有EXECUTE ANY PROCEDURE系统权限的 用户可以执行数据库中的任何过程。当用户需要创建过程时,必须拥有CREATE PROCEDURE 系统权限或者是CREATE ANY PROCEDURE系统权限。当需要修改过程时,需要ALTER ANY PROCEDURE系统权限。 拥有过程的用户必须拥有在过程体中引用的方案对象的权限。为了创建过程,必须为过程 引用的所有对象授予用户必要的权限。 (2)包对象。拥有包的EXECUTE对象权限的用户,可以执行包中的任何公共过程和函数, 能够访问和修改任何公共包变量的值。对于包不能授予EXECUTE权限,当为数据库应用开发 过程、函数和包时,要考虑建立安全性。

第九讲分布式地图数据库ppt课件

第九讲分布式地图数据库ppt课件

分布式数据库系统的模式结构
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
三、分布式数据库系统——六层模式结构
全全局局外外模模式式 全全局局外外模模式式 全全局局外外模模式式
映象1
全局DSBM
(7)适当数据冗余
(8)全局一致性、可串 行性和可恢复性
服务器2
网络
DB2
客 户 ┊
服务器3 DB3
客…户┉
客户…┉
分布式数据库系统
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
一、分布式数据库系统——优点
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
一、分布式数据库系统概述
DB1
DB2
只不支支持持全局局部应应用用 DB3
后台服务器1 后台服务器2 后台服务器3
网络 前台客户机
客户
客户
服务器3 DB3
客…户┉
客户…┉
分布式数据库系统
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
一、分布式数据库系统——特点
(5)数据独立性
DB1
(6)集中与自治相结合的控服制务结器构1
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用

第9章 数据库完整性li11-22

第9章 数据库完整性li11-22
a.默认值约束定义 默认值约束定义
create table mystudent (sno char(10), sname nvarchar(4), ssex char(2), sdept nvarchar(10) default ('计算机科学 计算机科学'), 计算机科学 scomegrade smallint constraint cg_ck check (scomegrade>=0 and scomegrade<=750) ) 说明:插入行后重新打开表,可看到设定的默认值。 说明:插入行后重新打开表,可看到设定的默认值。
只能为男或女
完整性的分类 实体完整性( 实体完整性(Entity Integrity) ) 域完整性( 域完整性(Domain Integrity) ) 参照完整性( 参照完整性(Referential Integrity) ) 用户定义完整性( 用户定义完整性(User-defined Integrity) )
9.4.2 UNIQUE约束 约束
使用T-SQL语句创建 语句创建 使用
create table 雇员表 (雇员号 char(10) primary key, 雇员号 雇员名 nvarchar(8) unique ) alter table student add constraint uk_sname_s unique (sname) select * from student with (index=uk_sname_s) alter table student drop constraint uk_sname_s
• 约束: 约束:
完整性类型 约束类型
DEFAULT
描述
指定列的默认值 指定列的允许值 指定是否允许为NULL 指定是否允许为

《数据库》ppt课件

《数据库》ppt课件

• 背景: 20世纪50年代后期到60年代中期,计算机硬件方面
出现直接存取设备磁盘,软件方面出现了操作系统
• 主要特点:数据管理方面,数据被组织到文件内存储在
磁带、磁盘上,可以反复使用和保存。程序与数据的关系如
下: 应用程序1
数据组1
应用程序2
文件 管理系统
数据组2
应用程序n
数据组n
4
5.1 数据库系统概论 — 数据库阶段
S_no S_name S_gender Department Age Place
95001 李勇 男
计算机
20 江苏
95004 张立 男
计算机
19 北京
95700 杨晓冬 男
计算机
21 山西
UPDATE students SET Age=20 WHERE S_no =‘95004’
INSERT INTO students VALUES(95060, ‘王英’,‘女’ ,‘物 理’, 19,‘浙江’)
SQL功能
SQL命令
数据定义 CREATE,DROP,ALTER
数据更新 INSERT,UPDATE,DELETE
数据查询 SELECT
数据控制 GRANE,REVOKE
33
5.2 关系模型 — 数据操作示例
SELECT * FROM students WHERE Department=‘计算机’
– 或者等于S中某个元组的主码值
• 用户定义的完整性: 针对某一具体关系数据库的约束条件, 反映某一具体应用所涉及的数据必须满足的语义要求
返回
35
5.3 关系规范化设计理论 — 概念
数据关系规范化理论:定义了五种规范化模式 (Normal Form,NF,简称范式)1971年E.F.Codd
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对视图定义进行加密 如果不想让用户查看视图定义的文本,则需要对存储在系统表 Syscomments中的视图定义进行加密处理,这个任务可通过在Create View语句中使用With Encryption子句来实现。 例9-3、在jwgl数据库中,建立一个名为student_view3的视图,由表 course、book及class_course创建的一个显示“g99402”班所开课程的课程 名、教材名、出版社及作者,并对视图进行加密处理。 USE jwgl Go Create View student_view3 WITH Encryption AS Select course.course_name as 课程名, book.book_name as 书名, book.publish_company as 出版社, book.author as 作者 FROM course, book, class_course Where (course.book_id=book.book_id and class_course.course_id=course.course_id and class_course.class_id=‘g99402’) Go
如果在企业管理器中展开jwgl数据库下面的表,然后在内容窗格中找到系 统表Syscomments,右击此表,并从弹出菜单中选择“打开 / 返回所有行” 命令,则可看出经过加密与未加密的视图之间的差别: 在“Encrypted”列中,加密的视图显示1,未加密的视图显示0; 在“Text”列中,加密视图显示乱码,未加密视图显示定义文本。
3、使用Create View语句建立视图
Create View语句的格式: Create View 视图名 [ (字段名[ , …n]) ] [ With Encryption ] AS Select 语句 [ With check option ]
With Encryption表示对 存储视图进行加密。 With check option指出 对视图进行的修改要符 合Select语句所指定的 限制条件。
为了从“成绩表”、“学生表”、“课程表”中检索记录,需 要使用INNER Join运算来连接这三个表,查询语句为: Select a.学号,姓名,课程名称,成绩 FROM 成绩表 AS a INNER Join 学生表 AS b ON a.学号 = b.学号 INNER Join 课程表 AS c ON a.课程编号 = c.课程编号 Where c.课程名称 = ‘电子商务’
例9-1、在数据库JWGL的表student上创建一个视图student_view1,视图 的数据包括班级号为“g99402”和“g99403”所有学生的资料。 USE jwgl Go Create View student_view1 AS Select * FROM student Where (class_id=‘g99402’ or class_id=‘g99403’) Go
如要重复使用以上语句,可有以下两种选择: 在查询分析器中,将所使用的查询语句保存在磁盘文件中, 以供以后再次使用。这种文件称为查询文件,其扩展名为.sql。 以后可在查询分析器中打开、修改、执行这个查询文件。这种 方法的缺点是:查询文件是作为独立的磁盘文件存放在数据库 外部的,不便于管理和维护。 在查询语句的基础上建立视图。这种方法的优点是:视图作 为一个数据库对象存储在数据库中的,便于进行管理和维护, 而且视图像表一样还可用在查询语句中,从而简化了检索数据 的操作。在查询分析器中,可使用Create View语句来建立一个 视图。 Create View 电子商务成绩视图 AS Select a.学号,姓名,课程名称,成绩 FROM 成绩表 AS a INNER Join 学生表 AS b ON a.学号 = b.学号 INNER Join 课程表 AS c ON a.课程编号 = c.课程编号 Where c.课程名称 =‘电子商务’
⑹在网格窗格中单击“列”单元格,然后从列表中选择要在视 图中引用的字段。 ⑺如果要使一个字段出现在视图的结果集中,请选中“输入” 列中的复选框。如果在视图中引用了某个字段,又不想让它出 现在视图的结果集中,(如仅仅在过滤条件中使用这个字段), 请清除“输入”列中的复选框。 ⑻如想按某个字段分组,请右击该字段,然后从弹出菜单中选 择“分组”命令。设置分组以后,在图表窗格中相应字段的右 边会出现一个括号图标。
指定字段别名: 在Create View语句中,圆括号中的字段名用于指定在视图中使用的 字段名称。只有在下列情况下,才有必要在Create View语句中指定 字段别名: 某个字段是来自一个算术表达式、内置函数或常量; 由于在Select语句中连接多个表,致使多个字段具有相同的名称; 要给某个字段指定一个不同于基表中的字段名,如在基表中用英 文,在视图中用中文。 例9-2、建立一个名为student_view2的视图,用于从jwgl数据库的student表中 检索所有男生的学号、姓名、班级、家庭住址、入学时间、出生年月,并用中 文作字段名。 USE jwgl Go Create View student_view2 (学号 , 姓名 , 班级 , 家庭住址,入学时间, 出生年月) AS select student_id , student_name , class_id , home_addr , entrance_date , birth FROM student Where sex = 1 Go
他们直接访问基表的权限。
2、视图的限制
首先要具有Create View权限,并要注意9点。 遵循标识符命名规则,视图名称要惟一。 一个视图最多可引用1024个字段,这些字段可来自一(多)个表 或视图。 在定义视图的查询语句中,不能有ORDER BY、Compute、 INTO关键字。 视图可在其他视图上建立,最多嵌套32层。 即使删除一个视图所依赖的表或视图,这个视图的定义仍保留在数
中 北 大 学 工 业 工 程 系
第9章 视图
9.1 视图概述
9.2 建立视图 9.3 修改视图 9.4 重命名视图 9.5 删除视图
9.6 使用视图
9.1 视图概述
视图是一种常用的数据库对象,它提供查看和存取数据的另 一种途径。使用视图不仅可以简化数据库操作,还可提供数 据库的安全性。 视图是一个基于选择查询的虚拟表。视图与真实的数据库表 有很多类似的地方,例如:视图也是由若干字段(列)和一 些记录(行)组成的;也可像表那样作为Select语句的数据来 源使用;在满足某些条件的情况下,还可通过视图来插入、 更改和删除表的数据。
据库中。
不能在视图上建立索引、全文索引。
不能在视图上绑定规则、默认值和触发器。 不能建立临时视图,也不能在一个临时表上建立视图。
只能在当前数据库中创建视图。但是,视图所引用的表或视图可 以是其他数据库中的,甚至可以是其他服务器上的。
9.2 建立视图
可以使用创建视图向导、企业管理器或Create View语句都可建立视图。 1、使用向导建立视图步骤 启动企业管理器,展开一个服务器组,并展开要在其中建立视图的服务器; 选择“工具/向导”命令,出现“选择向导”对话框; 单击“数据库”左边的加号图标,然后双击“建立视图向导”; 在欢迎画面中,单击“下一步”; 从“数据库”下拉列表中,选择要在视图中引用的数据库; 选择要在视图中引用的一个或多个表,然后单击“下一步”; 选择要在视图中显示的一个或多个字段,然后单击“下一步”; 输入Where子句,限制在视图中显示的记录,然后单击“下一步”; 在View框中为所建视图指定一个名称,然后单击“下一步”; 到这里,已经完成了建立视图所需要的各个步骤,并在对话框中列出了建 立视图时需要执行的语句;如必要的话,也可在此修改语句。然后单击 “完成”按钮。 在消息框中,提示视图已经创建成功,单击“确定”,结束建立视图过程。
使用向导建立视图后,可在企业管理器中看到这个视图。其方法:在 “树”窗格中单击视图所引用的数据库,然后单击“视图”,此时在 内容窗格中可以看到所建立的视图。 如右击一个视图,然后从弹出菜单中选择“打开视图/返回所有行”命 令,就可通过这个视图来查看表中的数据。
2、使用企业管理器建立视图步骤 ⑴在“树”窗格中展开服务器,选择一个服务器。 ⑵展开数据库,然后展开要在其中建立视图的数据库。 ⑶右击“视图”节点,从弹出菜单中选择“新建视图”命令(此后 出现三个窗格:图表窗格、网格窗格、结果窗格)。 ⑷右击图表窗格,从弹出菜单中选择“添加表”命令。 ⑸ 在“表”或“视图”选项卡中,单击需要添加到新建视图中的表 或视图,然后单击“添加”,使之出现在图表窗格中。对要添加到 新视图中每个表或视图重复这个步骤以后,单击“关闭”。
如要用一个星号(*)表示所有字段,选中“输出全部列”复选框;
如要在Select语句中添加一个DISTINCT关键字,以滤掉结果集中的重复记 录,选中“输出重复行的一行”复选框; 如要对视图定义进行加密处理,选中“加密浏览”复选框;
若要指定结果集之中返回若干行记录,请在从“顶端”算起框中输入行数; 也可以在行数后面输入Percent关键字,以指定在结果集之中返回百分之几的 记录。
⑼在“准则”列中,输入提取记录时所使用的过滤条件,由此 生成一个Where子句。如指定某个字段分组,则生成一个 Having子句。在某个字段上设置过滤条件时,在图表窗格中该 字段的右边会出现一个漏斗图标。
⑽在“或”列中,Βιβλιοθήκη 入提取记录时所使用的附加过滤条件。
⑾若要设置视图的其他属性,请右击网格窗格,从弹出菜单中选择“属性” 命令,并在对话框中设置以下属性:
使用With check option 若在建立视图时使用Where子句定义一个选择条件,在使用视图进行插 入或更新的过程中却提供了不符合这个条件的数据,那么该记录虽然存 储在视图所引用的基表中,但在视图中将无法看到该记录。 为了避免发生这种情况,使用With Check Option选项,就会强制通过视 图插入或修改时的数据满足Where子句所指定的选择条件。 如果在Insert / Update语句提供的数据违反了这个选择条件,则这些语句 执行失败,并出现以下错误提示信息。
相关文档
最新文档