第10章 数据库操作权限的控制应用
《MySQL数据库应用案例教程》教学课件 第10章 MySQL常用函数

执行SQL语句,使用函数ROUND(x)和ROUND(x,y)对数值进行四舍五入操 作,执行结果如下:
mysql> SELECT ROUND(100.144),ROUND(100.568),ROUND(100.144,2),ROUND(100.568,2);
+------------------------------+-----------------------------+------------------------------+-----------------------------+
—9—
10.1 数值函数
➢ 10.1.6 截取小数函数
函数TRUNCATE(x,y)的作用是对数值x进行截取,保留小数点后y位。其与ROUND()函数的区别是, ROUND()函数在截取值时会四舍五入;而TRUNCATE(x,y)函数直接截取值,并不进行四舍五入。
【实例10-7】
执行SQL语句,使用函数TRUNCATE(x,y)和ROUND(x,y)分别截取数值,执 行结果如下:
| ROUND(100.144) | ROUND(100.568) | ROUND(100.144,2) | ROUND(100.568,2) |
+------------------------------+-----------------------------+------------------------------+-----------------------------+
表102mysql中常用的字符串凼数及其功能lengthstrcharlengthstr返回字符串长度戒字符个数concatstr1str2strnconcatwsxstr1str2strn合并字符串insertstrxyinstrreplacestrab替换字符串lowerstrupperstr字符大小写转换leftstrxrightstrxsubstringstrxy获取字符串的一部分lpadstr1nstr2rpadstr1nstr2填充字符串ltrimstrrtrimstrtrimstr删除字符串左侧右侧戒两侧空格repeatstrn返回字符串str重复n次的结果locatestr1str返回子字符串的开始位置reversestr反转字符串13102字符串函数102字符串函数1021返回字符串长度和字符串中字符个数的函数凼数lengthstr用于返回字符串的长度一个汉字占用2个字节一个英文字符和数字占用1个字节
第10章-C#程序设计教程(第2版)-蒙祖强-清华大学出版社

10.1 一个简单的C#数据库应用程序 C#程序设计教程——蒙祖强编著
10.1.2 创建数据库应用程序
(1)创建C#窗体应用程序MyDBApp,在窗体上添加一个
DataGridView控件和Button控件,并适当调整它们的大小和位置,设
置其Text属性(其他属性不用设置):
10.1 一个简单的C#数据库应用程序 C#程序设计教程——蒙祖强编著
DataAdapter.Fill(dataset, "student_table");
dataGridView1.DataSource = dataset;
//在dataGridView1控件中显示名为student_table的填充数据
dataGridView1.DataMember = "student_table";
执行下列代码,创建数据库登录用户myDB:
create login myDB with password = 'abc', default_database = MyDatabase
exec sp_addsrvrolemember 'myDB', 'sysadmin'
用户myDB的密码为abc,默认数据库为MyDatabase。第二条语句是将 用户myDB添加为角色sysadmin的成员,因而该用户拥有全部的管理权限。 当然,也可以用超级用户“sa”及其密码来完成本书介绍的数据管理功 能。
10.1 一个简单的C#数据库应用程序 C#程序设计教程——蒙祖强编著
10.1.2 创建数据库应用程序
DataSet dataset = new DataSet(); //创建数据集
第10讲SQL中的视图与授权控制

– ALL PRIVILEGES
第10讲 SQL的视图及授权控制
4.6 SQL中的授权控制
• 存取权限
– 用户对不同的数据库对象有不同的存取权限, 不用的用户对同一数据对象也有不同的权限, 用户还可将其拥有的存取权限转授给其他用户 。
– 通过SQL提供的GRANT和REVOKE语句定义 用户权限,形成授权规则,并将其记录在数据 字典中。
– 对视图更新的一般限制有:
• 由多表导出的视图不允许更新。 • 若视图的属性列来自表达式或常数,则不允许执行
INSERT和UPDATE操作,但允许执行DELETE操 作。 • 定义中用到GROUP BY子句或聚集函数的视图不允 许更新。 • 建立在一个不允许更新的视图上的视图不允许更新
– 一般都只允许对行列子集视图(含有基表的主 键)进行更新。
– 视图对于隐藏的数据自动提供安全保护。 – 视图可以为用户和应用程序提供逻辑上的数据
独立性。
• 可成长性和可重构性。
第10讲 SQL的视图及授权控制
4.5 SQL中的视图
• 视图的作用
【例】把学生关系
S(SNO,SN,SD,SA)
重构为两个表
SX(SNO,SN) SY(SNO,SD,SA)
此时原表S是SX和SY自然联接的结果,可以建立一个 视图S,解决数据的逻辑独立性。
- WITH CHECK OPTION:表示对视图进行UPDATE和INSERT 操作时要保证修改和插入的元组须满足视图定义中的谓词条件。
- DBMS执行语句的结果只是把视图的定义存入数据字典中,并不 执行其中的子查询。
第10讲 SQL的视图及授权控制
4.5 SQL中的视图
• 视图的定义
【例】建立数学系的学生视图。 CREATE VIEW M-S(M-SNO,M-SN,M-SA) AS SELECT SNO,SN,SA FROM S WHERE SD =‘数学’;
MySQL 数据库基础与应用 第10章 权限管理和安全控制

MySQL 数据库基础与应用
5
10.2 用户管理
10.2.1 创建用户
创建用户使用CREATE USER语句。 语法格式:
CREATE USER user_specification [ , user_specification ] ...
其中,user_specification:
user [
IDENTIFIED BY [ PASSWORD ] ‘password’ | IDENTIFIED WITH auth_plugin [ AS ‘auth_string’] ]
10.2 用户管理
一个新安装的MySQL系统,只有一个名为root的用户,可使用以下 语句进行查看:
mysql> SELECT host, user, authentication_string FROM er;
+-----------+--------+------------------------------------------------------------------------+
4. procs_priv表 procs_priv表可以存储过程和存储函数进行权限设置。procs_priv表 包含8个字段,分别是Host、Db、User、Routine_name、Routine_type、 Grantor 、Proc_priv和Timestamp。
MySQL 数据库基础与应用
4
+-----------+--------+------------------------------------------------------------------------+
数据库课程课件_第10章客户机服务器系统

服务器可分为:
DB服务器、
文件服务器、
事务服务器、 文档服务器、 Web服务器、 电子邮件服务器、 其他应用服务器等。
客户机进程通
过通讯中间件 传送SQL请求
数据库服务器
进程接收、验 证并执行请求
SQL 客户机进程 数 据
SQL
通信中间 件网络
数 据
数据库服务器
通讯中间件将SQL 请求路由到数据库 服务器进程
Database Server
R1
R2 W1 W2
R3
W3 R4 W4
时间t
事务T1
事务T3
Client1
事务T2 事务T4
Client2
Database
R1
R2 W1 W2
R3
W3 R4 W4
Server
时间t
如果只有一台数据库服务器,应用程序就无法同时处理针 对 数据库的动作。 数据库动作在数据库服务器上是属于并发操作。 在服务器上为解决并发操作带来的丢失更新、不一
按功能划分、
共享资源、
不对称协议;
定位透明性; 基于消息的交换;
可扩展性。
§3、 C/S系统的体系结构
一、 C/S模式的体系结构
用户 客户机 用户 客户机 用户 客户机 客户机
中间件
文件服务 打印服务 数据库服务
服务器
文件 客户机
DB
二、客户机/服务器组件的交互方式 客户机:即前端应用程序,主要完成应用界面和交互式功能, 是任何向服务器请求服务的计算机进程。 服务器:即后端应用程序,为客户机提供后台服务(数据服务)。 中间件:泛指客户机和服务器之间的软件,中间件分为通用中间
返回
三层C/S结构: 数据库 服务器
第10章 SQL Server数据库访问技术

10.3.3
1. 的新特点
是一种高级的数据库访问技术。虽然始于ADO, 但确是一个改进了的ADO的新版本。
6.Parameter对象
Parameter对象用于为Command对象定义单个参数。利 用参数可以控制存储过程或者查询的结果。Parameter对 象可以提供输入参数、输出参数或者输入输出参数。
10.3.2 ADO
7. Property对象
一些OLEDB提供程序需要对标准的ADO对象进行扩展。 Property对象为完成这类工作提供了一种方法。Property对 象包含属性、名字、类型以及值的信息。一般来说,使用 ADO访问SQL Server数据库的大致步骤为:
第10章 SQL Server数据库访问 技术
10.1 数据库访问技术概述
所谓数据访问其实就是在应用程序中获 取数据库或者其他存储设备上的数据, 并且可以对数据库或者其他存储设备上 的数据进行基本的数据操作,包括查询 数据、添加数据、修改数据、删除数据 等。
10.2 ODBC技术
ODBC(Open DataBase Connectivity,即开放 数据库互连)是由Microsoft开发和定义的一种 访问数据库的应用程序接口标准,是一组用于 访问不同构造的数据库的驱动程序,在数据库 应用程序中,不必关注各类数据库系统的构造 细节,只要使用ODBC提供的驱动程序,发送 SQL语句,就可以存取各类数据库中的数据。
10.2.2 ODBC体系结构
数据源分为以下三类:
用户数据源。用户创建的数据源,称为“用户数据源”。此时只有创 建者才能使用,并且只能在所定义的机器上运行。任何用户都不能 使用其他用户创建的用户数据源。 系统数据源。所有用户和在Windows NT下以服务方式运行的应用 程序均可使用系统数据源。 文件数据源。文件数据源是ODBC 3.0以上版本增加的一种数据源, 可用于企业用户,ODBC驱动程序也安装在用户的计算机上。
Java应用教程_10Chapter

2013年8月31日星期六
基本SQL语句
基本的SQL语句包括DQL和DML。也就 是对数据库最常用的四大基本操作:查 询(Select)、插入(Insert)、更新 (Update)和删除(Delete)2013年8月31日星来自六DQL的3种基本格式
1. 基本句型一:(最简单的SELECT语句) SELECT 字段名 FROM 数据表 例1. SELECT * FROM grade 功能说明:将grade表中的所有字段取出来。 例2. SELECT 学号,姓名 FROM grade 功能说明:将grade表中学号和姓名字段取出来。 例3. SELECT学号,姓名,语文+数学+英语 as 总成绩 FROM grade 功能说明:将grade表中的学号和姓名取出来,并将语 文、数学和英语成绩相加产生虚拟列总成绩。
2013年8月31日星期六
SQL语句分类
SQL分类 数据定义语言 (DDL) 数据操纵语言 (DQL) 数据操纵语言 (DML) 事务控制语言 (TCL) 数据控制语言 (DCL) 描述 数据定义语言(DDL)用于定义、修改或者删除数据库对象, 如Create Table等 数据查询语句(Data Query Language,DQL)用于对数据进行 检索。如最常用的Select语句 数据操纵语言(DML)用于访问、建立或者操纵在数据库中 已经存在数据,如Select、Insert、Update和Delete等等。 事务控制语言(Transact Control Language)管理DML语句所 做的修改,是否保存修改或者放弃修改。如:Commit、 Rollback、Savepoint、Set Transaction等命令。 数据控制语言(DCL)管理对数据库内对象的访问权限和授予 和回收,如Grant、Revoke等等。
第10章怎样管理和利用数据练习题答案解析

第10章怎样管理和利用数据1、数据库系统是信息社会中重要的系统,其基本构成如下图示意。
仔细理解数据库、数据库系统和数据库管理系统等概念,回答下列问题。
图10-1(1)关于为什么要用“数据库”,下列说法正确的是_____。
(A)因为数据库可以使不同地点的人员实时地共享数据,一个地点的人员对数据库中数据进行了修改,另一个地点的人员可以马上了解这种修改,这种实时共享数据是纸面数据、非数据库数据所达不到的;(B)因为数据库是聚集数据的一种有效手段,数据库管理系统可以帮助我们对数据进行若干的管理和控制,而只有聚集了大量数据,才能发挥聚集数据的效益;(C)因为数据库可以有效实现“数据产生的分散化”和“数据应用的共享化”;(D)因为数据库可以便利用户对数据的操控,用户可以用简单的一条语句便可实现诸如“统计每个学生平均成绩”这样具有大量计算的工作;(E)上述原因都是要用“数据库”的理由,但还有其他理由。
答案:E解释:本题目考查数据库系统与数据库管理系统的相关概念。
选择(E),(A)(B)(C)(D)均正确,但单独每一项均不够全面,简单举例,数据库可以将数据电子化克服了大量纸面保存的数据占用空间不方便查询等缺点。
具体内容请参考课堂视频“数据为什么要管理”和第十章课件。
(2)关于数据库,下列说法不正确的是_____。
(A)数据库是一个特定组织所拥有的相互有关联关系的数据的集合;(B)数据库是以统一的数据结构组织数据并存放于存储介质上的数据集合;(C)数据库可以为各类人员通过应用程序所共享使用;(D)数据库是管理大规模数据集合的一种软件;答案:D解释:本题目考查数据库系统与数据库管理系统的相关概念。
选择(D),数据库并不等同于数据库管理系统。
具体内容请参考课堂视频“什么是数据库与数据库系统”和第十章课件。
(3)有以下一些要素:(I)数据库;(II)数据库管理系统;(III)数据库应用;(IV)数据库管理员;(V)计算机基本系统及网络,则一个数据库系统是由_____组成的一个系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图10.9 授予用户数据库对象上的权限
1.创建登录名 . 首先创建登录名admins,以系统管理员身份登录SQL Server,新建一个查询 窗口,输入并执行如下语句: USE master GO CREATE LOGIN admins WITH PASSWORD='123456', DEFAULT_DATABASE=MBOOK 说明:以上语句中使用CREATE LOGIN语句 语句创建登录名,user1为登录名的名 语句 称,使用WITH 子句指定登录名的一些选项。PASSWORD关键字指定登录名的密 码,为123456;DEFAULT DATABASE选项指定登录后默认的数据库。
为了保存管理员的信息以便在登录图书管理系统时使用,需要在图书管理数 据库MBOOK中创建一个管理员表Administrator,表的结构如表10.1所示,表中数 据如图10.2所示。 表10.1 管理员表(Administrator)结构
字 段 名 角色名 密码 备注 类型与宽度 char(20) varchar(20) varchar(100) 是否主键 √ × × 是否允许空值 × × √ 说 明 主键
10.1 10.2
图书管理系统权限的提出 图书管理系统权限的实现 知识点链接
L10.1 L10.2
图书管理权限的分配 图书管理权限的实现
根据SQL Server的安全性机制 的安全性机制,要将图书管理系统中的管理权限应用到图书 的安全性机制 管理数据库中,首先需要在SQL Server数据库中创建登录名,然后根据登录名在图 书管理数据库MBOOK中创建用户账户,之后给这些账户授予不同的权限。在使用 不同的登录名连接SQL Server时这些用户账户将会拥有不同的操作权限。 根据本图书管理系统的设计要求,本书设计了3类图书管理员:超级管理员、 读者管理员和图书管理员。超级管理员(命名为admins)拥有所有权限,读者管 理员(命名为user1)只能操作读者信息,图书管理员(命名为user2)只能操作 图书信息。因此需要创建的账户名为admins、user1和user2。
L1.SQL Server的安全性机制 1.SQL Server安全性管理 . 安全性管理 (1)对用户登录进行身份验证。当用户登录到数据库系统时,系统对该用 户的账户和口令进行验证,包括确认用户账户是否有效以及能否访问数据库系统。 SQL Server 2008的身份验证模式是指系统确认用户的方式,分为两种。 Windows验证模式:用户登录Windows时进行身份验证,登录SQL Server时就 不再进行身份验证。必须将Windows账户加入到SQL Server中,才能采用Windows 账户登录QL Server。 SQL Server验证模式:在SQL Server验证模式下,SQL Server服务器要对登录 的用户进行身份验证。当SQL Server在Windows操作系统上运行时,系统管理员 设定登录验证模式的类型可为Windows验证模式和混合模式。当采用混合模式时, SQL Server系统既允许使用Windows登录名登录,也允许使用SQL Server登录名登 录。 (2)对用户进行的操作进行权限控制。当用户登录到数据库后,只能对数 据库中的数据在允许的权限内进行操作。
说明:以上语句中使用GRANT语句 语句授予用户权限,GRANT关键字后面指定授 语句 予权限的名称,分别为查询、添加、修改、删除和建立外键约束。这些基本包含 了表中所有常用的权限。使用ON子句指定要授予权限的表,使用TO子句指定被 授予权限的对象。 语句;如果要撤销用户已有的权限, 如果要拒绝用户的权限,可以使用DENY语句 语句 可以使用REVOKE语句 语句。 语句
图10.8 数据库角色db_owner的成员列表
(2)为用户user1分配能够管理读者信息表TReader的权限。通过赋予用户 数据对象上的权限来实现,具体步骤如下。 以系统管理员身份连接到SQL Server服务器,在“对象资源管理器”中选择 MBOOK数据库的TReader表,用鼠标右键单击,选择“属性”菜单项进入TReader 表的属性窗口,选择“权限”选项卡。单击“搜索”按钮,在弹出的“选择用户 或角色”窗口中单击“浏览”按钮,选择需要授权的用户user1,选择后单击 “确定”按钮回到表属性窗口。在该窗口中选择user1,在权限列表的“授予” 复选框中选择需要授予的权限,由于需要授予用户对TReader表的所有权限,所 以这里全选所有权限,如图10.9所示,单击“确定”按钮完成授权。
3.分配图书管理权限 . (1)首先通过将数据库用户admins添加为db_owner固定数据库角色成员的 方法使用户admins具有操作MBOOK数据库的所有权限。 新建一个查询窗口,输入并执行如下语句: USE MBOOK GO EXEC sp_addrolemember 'db_owner', 'admins' 说明:以上语句中通过EXEC语句执行系统存储过程 系统存储过程sp_addrolemember将用 系统存储过程 户admins添加为数据库角色db_owner的成员,该存储过程有两个参数,前者为 数据库角色名,后者为要添加的数据库用户名。 (2)为用户user1分配能够管理读者信息表TReader的权限。 在查询窗口中执行如下语句: USE MBOOK GO GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON TReader TO user1
表10.2 管理员表(Administrator)数据
角 色 名 Admins user1 user2 密 码 备 注 123456 123456 123456 超级管理员 读者管理员 图书管理员
创建Administrator表可以通过界面方式或命令方式来完成,下面列出创建该 表的T-SQL语句,界面方式创建该表的方法请读者自行完成。 USE MBOOK GO CREATE TABLE Administrator ( 角色名 char(20) NOT NULL PRIMARY KEY, 密码 varchar(20) NOT NULL, 备注 varchar(100) NULL ) 表创建完后将表10.2中的数据添加到该表中。
在打开的“服务器属性”窗口中选择“安全性”选项卡。选择服务器身份验 证为“SQL Server和Windows身份验证模式”,如图10.1所示。单击“确定”按钮, 保存新的配置,然后在“对象资源管理器”窗口中用鼠标右键单击SQL Server服 务器图标,选择“重新启动”菜单项重启SQL Server服务即可。
2.SQL Server的安全性机制 . 的安全性机制 SQL Server安全性主体主要有三个级别,分别是:服务器级别、数据库级别、 架构级别。 (1)服务器级别所包含的安全对象主要有登录名、固定服务器角色等。其 中登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服 务器权限。 SQL Server的登录名主要有两种:第一种是Windows登录名,第二种是SQL Server登录名。Windows登录名对应Windows验证模式,该验证模式所涉及的账户 类型主要有Windows本地用户账户、Windows域用户账户和Windows组。SQL Server登录名对应SQL Server验证模式,在该验证模式下,能够使用的账户类型主 要是SQL Server账户。 (2)数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证 书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。 用户安全对象是用来访问数据库的。如果某人只拥有登录名,而没有在相应 的数据库中为其创建登录名所对应的用户,则该用户只能登录数据库服务器,而 不能访问相应的数据库。
2.创建MBOOK的数据库用户 .创建 的数据库用户 首先创建与登录名admins相关联的数据库用户,名为admins。以系统管理 员身份登录SQL Server,新建一个查询窗口,输入并执行如下语句: USE MBOOK GO CREATE USER admins FOR LOGIN admins 说明:以上语句中使用CREATE UESR语句 语句在MBOOK数据库下创建数据库用户, 语句 admins为用户名,使用FOR LOGIN子句指定相关联的登录名,这里指定为登录名 admins。
图10.6 新建数据库用户账户admins
3.分配图书管理权限 . (1)首先为图书管理数据库用户admins分配图书管理数据库的超级管理员 角色成员的方式来完成。具体 权限,即MBOOK数据库的所有权限,通过添加为角色 角色 步骤如下。 以系统管理员身份连接到SQL Server服务器,在“对象资源管理器”中展开 “数据库”→“MBOOK”→“安全性”→“用户”→选择数据库用户“admins”, 双击或用鼠标右键单击选择“属性”菜单项,打开“数据库用户”对话框。 在打开的对话框中,在“常规”选项卡中的“数据库角色成员身份”栏,选 择固定数据库角色db_owner,如图10.7所示,单击“确定”按钮完成添加。之后 用户admins就可以拥有与数据库角色db_owner相同的权限,即执行MBOOK数据 库的所有管理操作的权限。
图10.1 选择身份验证模式
(2)创建登录名admins,在“对象资源管理器”中选择“安全性”目录下 的“登录名”项,用鼠标右键单击,在弹出的快捷菜单中选择“新建登录名”, 如图10.2所示。
图10.3 “登录名-新建”对话框
(3)使用登录名admins连接SQL Server。具体步骤如下。 在“对象资源管理器”窗口中单击“连接”下拉框,选择“数据库引擎”, 弹出“连接到服务器”对话框。在该对话框中,“身份验证”选择“SQL Server身 份验证”,“登录名”填写admins,输入密码123456,如图10.4所示,单击“连 接”按钮,就能连接SQL Server了。登录后的“对象资源管理器”界面如图10.5所 示。
10.2.1 界面方式分配图书管理权限 1.创建登录名 . 首先创建登录名admins,采用SQL Server验证模式。创建的步骤如下。 (1)首先应将验证模式设置为混合模式。以系统管理员的身份登录SQL Server Management Studio,在“对象资源管理器”中选择要登录的SQL Server服 务器图标,用鼠标右键单击,在弹出的快捷菜单中选择“属性”菜单项,打开 “服务器属性”窗口。