第10章 数据库应用程序
第10章FoxPro数据库管理系统基本知识
3.2 常量与变量
1.常量 在命令或程序扫执行过程中,其值不能改变的量。 如 –2344.23 ”中华人民共和国” .T. .F. 05/01/2001 FoxPro常量有如下数据类型: 字符型、数值型、逻辑型、日期型 注意:没有备注型、通用型。 2.变量 在命令或程序扫执行过程中,其值可以改变的量。 变量有四种属性:变量名、变量的数据类型、变量值,变量 长度。
§1 数据库系统概述
1、 基本概念 信息:人脑对现实世界的描述和反映。 信息化:人们对现实世界中的客观事物进行识别、 选择、命名、分类等抽象—形成概念的过程。 数据(Data):存储在某一媒体上能识别的物理符号, 数字化的信息。 现实世界:事物类事物特征事物及其联系 信息世界:实体型实体属性信息模型 数据世界:文件记录域(字段) 数据模型 数据处理: 对各种形式的数据进行汇集、传输、分 组、排序、存储、检索、计算等一系列操作称为数 据处理。
存放OLE(对像链接与嵌入)对象数据(如图形、 声音、电子表格、Word文档等),只能用于定义字段类 型。
常用FoxPro文件类型
• .DBF :数据库文件,保存表的结构及其内容。 • .FPT :备注文件,保存备注与通用型字段数据。 • .IDX :单索引文件,保存单个索引标识及数据 的文件。 • .CDX :复合索引文件,保存多个索引标识及 数据的文件。 • .PRG :命令文件(或程序文件),存储用FoxPro 语言编写的程序的文件。 • .FXP :命令文件,存储经过伪编译过FoxPro 语言程序的文件。
?
3、 FoxPro窗口组成
1) FoxPro窗口组成
具有标题栏,菜单栏(P348表11-1至表11-8),工具栏,工作区,状态栏 等Windows 95/98一般窗口的部件。 可改变窗口大小(最大化、最小化),移动窗口位置等。 与一般窗口的不同之处:多了一个“命令窗口”。 命令窗口的功能:输入并执行FoxPro命令。 简单的Foxpro命令实例演示(并观察输出位置): ? ″字符串″ ;显示文字信息 ? 数值表达式 ;计算并显示表达式值 ?DATE() ;显示当前日期 ?TIME() ;显示当前时间 Clear ;清工作区 DIR [盘符][路径][<文件名>] ;显示磁盘目录清单(允许带通配符) Quit ;退出FoxPro系统
第10章 Access 2003综合应用实例
图10-15 “显示表”对话框
10.8.1
“学生子窗体”ห้องสมุดไป่ตู้计
图10-16 “查询设计器”窗口
3) 将以下字段拖入到查询设计器网格中:course.coursename、student. name、department、class.classname、teacher.teacher、student.studen
10.8.2
“学生”窗体设计
图10-20 “子窗体向导”对话框
10.8.2
“学生”窗体设计
图10-21 子窗体属性
4)在文本框中输入“学生子窗体”,然后单击“完成”按钮即可。
10.8.2
“学生”窗体设计
5) 设置子窗体与主窗体的连接字段:在主窗体上右键单击,选择 “属性”命令,在“属性”的对象列表框中选择“学生子窗体”。 6) 然后选择“数据”选项卡,设置其连接主字段和连接子字段都为 “studentID”,如图10-21所示。 7) 然后保存,学生窗体设计完毕。
10.2 系统分析与设计
该系统功能上要实现对教师、学生以及课程的有效管理,教学管 理人员和教师可以通过该系统实现对全校教师信息、院系信息及学生 信息的管理,进行的操作包括增加、删除、修改以及查询等。
10.2.1
需求分析
1)管理人员通过系统维护教师信息、院系信息。 2)教师通过系统维护学生考勤、成绩信息。 3)教学管理部门可以根据系统设置课程信息、学生成绩统计分析。
10.4.3
设计表之间的关系
图10-7 “编辑关系”对话框
④ 依次将其他相关表之间创建关系。
10.4.3
设计表之间的关系
本例中7个表之间的关联字段分别为:course.courseID和score.courseI D;student.studentID和score.studentID;class.classID和student.classID; teacher.teacherID和course.teacherID;department.departID和teacher.dep artID;department.departID和class.departID。 ⑤ 关系创建完成后,单击“保存”按钮,然后将“关系”窗口关 闭,完成关系的创建,如图10-8所示。
第10章 配置应用程序及其他应用
10.2.2 Global.asax文件示例
这是一个网站日志示例,在系统启动、系统
关闭、客户登录或退出时在文本文件log.txt中 记录有关信息。 两个文件
Global.asax 用来记录日志 10-2.aspx
用来将日志信息显示在页面上
Global.asax文件
Global.aspx
程序执行的结果不是我们所预期的,称为逻辑错误。
这可能是因为程序设计师的观点本身就不正确,所 以这种错误并不好发现。因为程序的语法内容并没 有错,要解决这类问题必须配合一些工具和方法, 才能找出错误的地方。 通过在程序代码中加入排除错误用的程序代码来排 错是最直接的方法。以逻辑错误来说,因为程序本 身并没有任何语法错误存在,大多是变量的内容或 程序执行流程上出了问题,因此将程序执行过程的 变量值显示出来就可以帮助我们了解变量的变化, 进而找出程序的问题出在哪里。 在Visual 2003中可加入断点来动态观 察在程序运行过程中变量的值,这一种最快速的排 除逻辑错误的方法。
第3步:添加用户
依次选择【开始】
→【程序】→【管 理工具】→【计算 机管理】菜单命令 打开对话框。 如图选择“用户”, 并在右边用户列表 框中的右键菜单中 选择【新用户】命 令,即可为每一个 客户添加用户名和 密码
10.4.2 基于表单的认证
什么是基于表单的认证?
步骤:
第1步:在web.Config中设置:
本章要点
配置Global.asa文件
配置web.Config文件,尤其是读取其中自定
义的属性。 如何保证应用程序的安全 如何调试程序
10.1 关于配置应用程序
什么是应用程序?
配置应用程序的重要内容:
数据库系统教程——施伯乐第三版PPT10PPT
第10章 ODBC技术
10.1 中间件 10.2 ODBC结构 10.3 ODBC接口 10.4 ODBC的符合性级别 10.5 小结
4
10.1 中间件
10.1.1 中间件的定义 10.1.2 中间件的作用
5
10.1.1 中间件的定义
定义10.1 中间件(middleware)是分布式环境中 保证操作系统、通信协议、数据库等之间进行对话、 互操作的软件系统。
9
10.2.1 ODBC概念(2)
最先推出的公共API是Microsoft公司于1992年推出 的ODBC产品。它以C/S结构为设计基础。ODBC 技术使得应用程序与DBMS之间在逻辑上可以分离,
使应用程序具有数据库无关性。每个应用程序利用
相同的源代码就可访问不同的数据库系统,存取多 个数据库中的数据。
第10章 中间件技术
1
本章重要概念
(1)中间件的定义和作用 (2)ODBC分层的体系结构:应用程序,
驱 动 程 序 管 理 器 , DB 驱 动 程 序 , ODBC数据源。 ( 3 ) ODBC 接 口 : 应 用 程 序 基 本 流 程 , ODBC句柄,ODBC连接,SQL语句的 执 行 。 ODBC 两 套 符 合 性 级 别 。 典 型 的DB应用系统开发工具。
最早的ODBC版本1.0是在1993年8月发布的。由于
1.0版本的迅速流行,2.0版本、3.0版本、3.5版本分
别在1994年12月、1995年10月、1996年10月发布,每
一次的发布都作了一些改进,着重于速度、对新的
OS的兼容性以及对ODBC可访问的更高级DBS所具
有的功能提供支持。因此,ODBC技术对C/S计算模
第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章客户机服务器系统
服务器可分为:
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驱动程序也安装在用户的计算机上。
第10章 数据完整性-数据库原理与应用教程(Oracle 12c版)-赵明渊-清华大学出版社
例如,对于stsys数据库中student表,sno列作为主键,每一个学 生的sno列能唯一地标识该学生对应的行记录信息,通过sno列建立 主键约束实现student表的实体完整性。
3.参照完整性
参照完整性保证主表中的数据与从表中数据的一致性,又称为 引用完整性,参照完整性确保键值在所有表中一致,通过定义主键 (PRIMARY KEY)与外键(FOREIGN KEY)之间的对应关系实现参照 完整性。
Oracle使用完整性约束机制以防止无效的数据进入数据库的基 表,如果一个DML语句执行结果破坏完整性约束,就会回滚语句并 返回一个错误。通过完整性约束实现数据完整性规则有以下优点:
●完整性规则定义在表上,存储在数据字典中,应用程序的任何 数据都必须遵守表的完整性约束。
●当定义或修改完整性约束时,不需要额外编程。
主键(PRIMARY KEY):表中能唯一标识每个数据行的一个或 多个列。
外键(FOREIGN KEY):一个表中的一个或多个列的组合是另 一个表的主键。
数据库原理与应用教程
(Oracle 12c 版)
4
10.1 数据完整性概述
例如,将student表作为主表,表中的sno列作为主键,score表作为 从表,表中的sno列作为外键,从而建立主表与从表之间的联系实现参 照完整性,student表和score表的对应关系如表10.1、和表10.2所示。
● CHECK约束,检查约束,现域完整性。
● NOT NULL约束,非空约束,实现域完整性。
● PRIMARY KEY约束,主键约束,实现实体完整性。
● UNIQUE KEY约束,唯一性约束,实现实体完整性。
● FOREIGN KEY约束,外键约束,实现参照完整性。
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.1 IP地址和InetAddress类
Java语言可编写低层的网络应用。例如,
传输文件, 建立邮件控制器, 处理网络数据。
Java语言支持的Internet协议有ftp、telnet、www 等,支持网络通信的软件都在包中, 例如:
.ftp, .www等。
10.1.1 IP地址和InetAddress类
IP地址用于指明因特网上的一台计算机在网络中的地址,用 32 位二进制代 码表示一个网络地址。
IP地址用点分十进制表示。
地址分A、B、C、D、E五类,常用的是A、B、C三类:
A(1.0.0.0-126.255.255.255),0, 7位网络号,后24位为主机号。 B(128.0.0.0-191.255.255.255),10, 14位网络号, 后16位为主机号 C (192.0.0.0-223.255.255.255), 110, 21位网络号, 后8位为主机号 D (224.0.0.0-239.255.255.255), 1110, 28位多点广播组标号. E (240.0.0.0-254.255.255.255), 1111, 保留试验使用。
然后,就可以用流的方法访问网上资源。
网上资源使用结束后,数据流也应及时关闭。用close() 关闭建立的流。
URL url = new URL(urlName);//由网址创建URL对象
URLConnection tc = url.openConnectin();//获得URLConnection对象
Java语言的优势之一是Java程序能访问网络资源
1. TCP/IP协议和IP地址
为了进行网络通信,通信双方必须遵守通信协议。目前 最广泛使用的是TCP/IP协议族
数据库应用第10章_数据库安全性_V08_2
第10章 数据库保护及SQL Server的安全管理数据库系统应用Data Base System Application张建国哈工大计算机科学与技术学院2008-10-7哈工大计算机学院 张建国 Slide 10-1第10章 数据库的安全性及SQL Server的安全管理2008-10-72第10章 数据库保护及SQL Server的安全管理本章主要内容数据库安全性的概念 数据库安全控制用户标识与鉴别 存取控制 自主存取控制(DAC)方法 强制存取控制(MAC)方法 视图机制 审计 数据加密统计数据库安全性问题 SQL Server 2000 数据库的安全性措施2008-10-7哈工大计算机学院 张建国 Slide 10-3第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念美国国防部1985年正式颁布了《DoD可信计算机系统评估标 准TCSEC》(Trusted Computer System Evaluation Criteria). 制定该标准的目的 提供一种标准,使用户可以对其计算机系统内敏感信息安 全操作的可信程度进行评估. 为计算机行业的制造商提供一种可循的指导原则,使其产 品能够更好地满足敏感应用的安全需求. 数据库安全性 保护数据库,以防非法使用所造成的数据泄露、更改或破 坏.2008-10-7哈工大计算机学院 张建国Slide 10-4第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)1991年,美国国家计算机安全中心NCSC颁布了《可信计算机 系统评估标准关于可信数据库系统的解释TDI》 (Trusted Database Interpretation),将TCSEC扩展到数据库管理系统 TDI定义了数据库管理系统的设计与实现中需要满足和用 以进行安全性级别评估的标准. TESEC(TDI)将系统划分为四组七个级别,从低到高依次是 D级: 最小保护 最低级别.一切不符合更高级标准的系统都归于D级. 例如,DOS操作系统 几乎没有专门的机制保障系统的安全性.2008-10-7哈工大计算机学院 张建国Slide 10-5第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)C1级:自主安全保护 只提供了非常初级的自主安全保护措施. 能实现对用户和数据的分离,进行自主存取控制DAC. C2级:受控存取保护 是安全产品的最低级别. 提供受控的存取保护, 将C1级的 DAC细化,以个人身份注册负责,并实施审计和资源隔离. B1级: 标记安全保护 对系统的数据加标记,并对标记的主体和客体实施强制存 取控制MAC和审计等安全机制. B1级以上才称得上安全产品.2008-10-7哈工大计算机学院 张建国Slide 10-6第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)B2级:结构化保护建立形式化的安全策略模型,并对系统内的所有主体 和客体实施DAC和MAC. 目前数据库产品尚无符合B2级安全标准的.B3级: 安全域 A1级: 验证设计2008-10-7哈工大计算机学院 张建国Slide 10-7第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制数据库权限的种类 维护数据库管理系统的权限 对数据库中数据操作的权限 操作数据库对象的权限 创建,修改,删除数据库对象 操作数据库数据的权限 查询,增加,删除,修改表和视图中的数据2008-10-7哈工大计算机学院 张建国Slide 10-8第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库用户的分类 数据库系统管理员DBA(SQL Server中为sa) 拥有对数据库操作的全部权限 数据库对象拥有者dbo 拥有对自己创建的数据对象操作的全部权限 普通用户User 对数据库中的数据进行查询,增加,删除,修改的权限. 只能在自己被授予的权限内进行操作. 角色Role 将具有相同权限的一组用户组织在一起,统一授权以简 化授权机制2008-10-7哈工大计算机学院 张建国 Slide 10-9第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库的安全措施是一层一层逐级设置的 用户级 通过用户标识和鉴别实现. DBMS级 通过存取控制实现. 操作系统级 通过操作系统的安全保护实现. DB级 通过对数据加密存储实现.2008-10-7哈工大计算机学院 张建国Slide 10-1010.2 数据库安全控制(Cont.)1.用户标识与鉴别用户标识设置用户名.口令设置用户口令.优点简单易行.缺点用户标识和口令容易被人窃取.解决办法利用加密算法或加密函数.10.2 数据库安全控制(Cont.)2. 存取控制存取控制主要通过DBMS的授权机制实现,由两部分组成:定义用户权限将用户权限存入用户存取权限数据字典中.不同用户对系统具有不同的存取权限.合法权限检查用户发出DB操作请求时,DBMS查找数据字典,根据安全规则进行合法权限检查.只有合法的操作才能正常执行.目前大型DB的DBMS一般都支持C2级中的自主存取控制(DAC),有些DBMS可以支持B1级中的强制存取控制(MAC).10.2 数据库安全控制(Cont.)3. 自主存取控制(DAC)方法概念用户对数据的存取权限是“自主”的,被授权的用户可以自由决定将对数据存取权限授权给任何人,而系统无法控制.SQL的自主存取权限控制通过GRANT和REVOKE实现.优点用户对于不同的数据对象有不同的存取权限,不同的用户对同一数据对象也有不同的存取权限.用户可将自己的存取权限转授于其他用户,使用非常灵活.10.2 数据库安全控制(Cont.)问题用户对于存取权限是“自主”的,可以将权限转授给其他用户,这种授权是不受系统或DBA控制的,可能存在被授权用户有意或无意“泄露”数据机密问题.问题产生的原因只是通过对数据的存取权限进行安全控制,而数据本身无安全性标记.解决办法采用强制存取控制.10.2 数据库安全控制(Cont.)4. 强制存取控制(MAC)方法实行主客体制,系统中的全部实体两大类主体: 系统中的活动实体为实际用户和代表各用户的程序进程.客体: 系统中的被动实体为受主体操纵的文件,基本表,索引,视图等.敏感度标记:DBMS为主体和客体的每一个值指定一个“敏感度标记”.敏感度标记被分为绝密,机密,可信,公开等级别.许可证级别和密级:主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级.主体客体许可证级别密级绝密机密可信公开绝密机密可信公开高低通过对比主体的标记和客体的标记,确定主体是否能存取客体.10.2 数据库安全控制(Cont.)10.2 数据库安全控制(Cont.)5.视图机制为不同的用户建立不同的视图.简化用户看待数据库的观点.将不需要的数据隐藏起来,实现数据的保护和保密.10.2 数据库安全控制(Cont.)6. 审计审计是C2级以上安全级别必不可少的一项技术.审计原理将用户对DB中的所有操作自动记录下来存入在“审计日志”中.DBA可利用审计日志跟踪的信息,重现导致DB现状的一系列事件,找出非法存取数据的人、时间和操作内容等.审计的代价审计需占用较多的存储空间和时间,因此审计功能一般是可选的.审计一般用于安全性较高的DB.10.2 数据库安全控制(Cont.)7. 数据加密对于高度敏感的数据,例如财务数据、军事数据、国家机密等,除上述安全措施外,还可以采用数据加密技术.加密的基本思想加密在存储数据时,将原始数据(明文)按某种算法变换成某种不可直接识别的格式(密文).解密使用数据时,按照加密算法将密文还原为明文.不知道解密算法的人无法获得正确的数据.10.2 数据库安全控制(Cont.)两种主要加密算法替换方法使用密钥将明文中的每一个字符转换成密文中的一个字符.例:将每个ASCII字符的值减3.“DOG”的内部存储表示为“AMD”.读取数据时,再使每个ASCII值加3,得到正确的数据.转换方法将明文字符按不同的顺序排列.常将这两种方法结合起来应用,以提高安全性.10.3 统计数据的安全问题人们往往注意一般DB的安全问题,较好地解决了DB的保密问题,但对于统计DB常常却忽略了其安全性.问题从某些统计数据信息往往能推算出一些个体数据.例:想获得总经理的工资,但系统不允许查询某个职工的数据,于是可以统计全体职工的工资总额,再统计全部不是总经理的职工的工资,二者相减,即可获得总经理的工资.总经理工资=全体职工工资总额-全体非总经理职工工资总额所以,应特别注意统计数据库泄密问题.10.4 SQL Server 的安全管理机制SQL Server是Microsoft开发的运行在Windows上的DBMS Windows提供了较完善的安全措施.SQL Server在此基础上又提供了自己的安全措施.1. 用户访问DB中数据的三个认证过程身份验证(连接DB服务器权限)—登录帐户验证用户是否有权连接到SQL Server数据库服务器.访问DB权限验证——数据库用户帐户验证用户是否的DB的合法用户操作数据权限验证——授权验证用户是否有操作相应数据的权限10.4 SQL Server 的安全管理机制(Cont.)SQL Server 服务器身份验证SQL ServerDB Data 访问DB 权限验证操作数据权限验证Windows用户DB Data10.4 SQL Server 的安全管理机制(Cont.)2. 用户类型和安全验证模式SQL Server 用户的类型Windows授权用户Windows用户或组SQL授权用户SQL 用户(非Windows用户)SQL Server 的两种安全验证模式Windows身份验证模式Windows和SQL Server混合验证模式10.4 SQL Server 的安全管理机制(Cont.) Windows身份验证模式允许Windows用户连接SQL ServerSQL Server通过Windows获得用户信息,并对用户名和密码进行验证用户先登录Windows,登录SQL Server 时选择Windows 身份验证模式(不需提供登录用户和密码)Windows和SQL Server混合验证模式允许Windows授权用户和SQL授权用户(非Windows授权用户)连接SQL Server.需提供登录名和密码.SQL Server身份验证设置企业管理器—服务器(右键)—-属性—安全性—身份验证—SQL Server和Windows重新启动Windows生效10.4 SQL Server 的安全管理机制(Cont.)3. 登录帐户管理访问数据库的用户必须登录.Windows登录用户SQL Server 登录用户(1) 建立登录帐户企业管理器—安全性—登录—右键—新建登录名称输入名称: SQL登录帐户名在菜单中选择名称:Windows帐户名Windows身份验证域:选择一个域及用户名10.4 SQL Server 的安全管理机制(Cont.)SQL Server身份验证输入密码设置访问的默认数据库服务器角色选项卡为用户设置服务器角色.数据库角色为用户设置数据库角色,使用户可访问指定数据库.(2) 修改登录帐户的属性安全性—登录—选择指定用户—属性进行修改(3) 删除登录帐户10.4 SQL Server 的安全管理机制(Cont.)4. 用户帐户管理具有登录账户的用户只能登录到SQL Server服务器,还不能访问具体数据库.将登录名与具体数据库联系起来后才能访问数据库.用户可访问某一数据库的用户一个登录用户可以访问若干个数据库,访问时必须与有关的用户相关联.每一个数据库都有两个默认的用户dbo(database owner)创建数据库的用户称为数据库所有者dbo拥有对自己所创建的数据库的所有权限guest对象的全部权限和所有权由用户控制.10.4 SQL Server 的安全管理机制(Cont.)(1) 建立数据库用户选择具体数据库—用户(右键)—新建数据库用户—选择登录名和用户名选择该用户的数据库角色属性—权限设置该角色对表/视图的操作权限.对选定的表/视图选择”列”,可设置对表/视图中的列操作的权限.(2) 删除数据库用户10.4 SQL Server 的安全管理机制(Cont.)5. 角色具有相同权限的用户可设置成一个角色.同一角色的用户自动继承该角色的所有权限.角色可以方便对用户的管理.角色的分类固定服务器角色固定数据库角色10.4 SQL Server 的安全管理机制(Cont.)服务器角色sysadmin:执行SQL Server中的任何操作dbcreater:创建和修改数据库diskadmin:管理磁盘文件processadmin:管理系统进程securityadmin:管理和审计登录账号serveradmin:配置服务器范围内的设置setupadmin:可以增加、删除连接服务器,建立数据库复制,管理扩展的存储器bulkadmin:执行块插入操作服务器角色为在用户登录时授予的在服务器范围内的权限,在服务器上操作,独立于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)固定数据库角色public: 维护全部默认的许可db_owner:执行数据库的任何操作,可转让授权db_accessadmin:可以增加或删除windows认证模式下的数据库用户或用户登录者db_addadmin:增加、修改和删除数据库对象db_securityadmin:执行语句和对象的权限管理db_backupadmin:备份和恢复数据库db_datareader:检索任意表中的数据db_datawriter:增加、修改和删除所有表中的数据db_denydatareader: 不能检索任意表中的数据db_denydatawriter: 不能增加、修改和删除所有表中的数据数据库用户角色对应于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)建立用户自定义角色选择建立角色的数据库角色—新建数据库角色—输入角色名称—选择角色—添加用户——确定定义角色授权选择指定角色属性—权限—设置权限添加自定义角色的成员属性—添加—选择帐户10.4 SQL Server 的安全管理机制(Cont.)6. 存取权限管理机制为用户授权,将授权结果存入数据字典用户提出操作请求时,系统进行操作权限检查,决定是否执行其操作(1) 权限的种类对象权限(使用DML语句的权限)用户对表/视图的操作权限(查询,更新)语句权限(使用DDL语句的权限)用户进行数据定义的权限隐含权限(角色权限)为用户设置的服务器角色,数据库角色,dbo等权限,一次授权,长期享有.(2) 权限管理授权Grant收回授权Revok拒绝访问Deny(3) 权限管理级别表/视级授权属性级授权存储过程执行授权(4) 权限管理机制企业管理器SQL语句10.4 SQL Server 的安全管理机制(Cont.)10.4 SQL Server 的安全管理机制(Cont.)(5) SQL权限管理授权语句GRANT 权限名[,…] ON 表名|视图名|存储过程名TO 数据库用户名|用户角色名[, …]收回权限语句REVOKE 权限名[,…] ON表名|视图名|存储过程名FROM 数据库用户名|用户角色名[, …]拒绝访问语句REVOKE权限名[,…] ON表名|视图名|存储过程名TO数据库用户名|用户角色名[, …]10.4 SQL Server 的安全管理机制(Cont.)对属性列和视图的操作权限查询,插入,修改,删除.对基本表的操作权限查询,插入,修改,删除,修改表定义,建立索引.建立表权限建立表的权限归DBA所有,DBA可以将权限授于其他用户,被授权的用户可以自己创建表.创建表的用户是表的主人dbo,拥有对表的所有权限用户可以是某一特定用户,也可以是全体用户PUBLICWITH GRANT OPTION子句获得某种权力的用户可以将其权限转授其他用户10.4 SQL Server 的安全管理机制(Cont.)例:把查询表Student的权限授给用户User1.GRANT SELECT ON Student TO User1;例:把对表Student和Course的全部操作权限授给用户User2和User3.GRANT ALL PRIVILIGES ON Student,Course TO User2,User3;例:把对表SC的查询权限授给所有用户.GRANT SELECT ON SC TO PUBLIC;例:把对表Student的查询和修改学号的权限授给用户User4. GRANT SELECT,UPDATE(Sno)ON Student TO User4;10.4 SQL Server 的安全管理机制(Cont.)例:把对表SC插入的权限授给User5,并允许User5将此权限再授给其他用户.GRANT INSERT ON SC TO User5 WITH GRANT OPTION;例:DBA把在数据库Teaching_system中建立表的权限授给User8.GRANT CREATETAB ON Teaching_system TO User8;10.4 SQL Server 的安全管理机制(Cont.)例:把用户User4修改学号的权限收回.REVOKE UPDATE(Sno) ON Student FROM User4;例:收回所有用户对表SC的查询权限.REVOKE SELECT ON SC FROM PUBLIC;例:收回用户User5对表SC插入的权限.REVOKE INSERT ON SC FROM User5;若User5已将自己的权限授给其他用户,则被授给的权限也一同收回.第10章数据库保护及SQL Server的安全管理本章小结计算机安全性及数据库安全性的概念数据库安全控制用户标识与鉴别,存取控制,自主存取控制(DAC)方法,强制存取控制(MAC)方法,视图机制,审计,数据加密统计数据库安全性SQL Server 数据库的安全管理机制本章习题和任务复习本章内容.通过实验课练习授权机制.理解P.193各题的问题.2008-10-7哈工大计算机学院张建国Slide 10-41。
第10章__数据库Access2010
打开数据库
10.2.1 数据库的创建与使用
②保存数据库 操作步骤如下: 单击屏幕左上方的“文件”标签,在打开的 Backstage视图中选择“保存”命令,即可保存输入 的信息。 弹出Microsoft Access对话框,提示保存数据库 前必须关闭所有打开对象,单击“是”按钮即可。 或者选择“数据库另存为”命令,可更改数据库 的保存位置和文件名。
10.1.2 Access2010的界面
状态栏
“状态栏”位于窗口底部,用于显示状态信息, 还包含用于切换视图的按钮。
微型工具栏
在Access2010中,可以使用微型工具栏轻松 设置文本格式。用户选择要设置格式的文本后, 微型工具栏会自动出现在所选文本的上方。如果 将鼠标指针靠近微型工具栏,则微型工具栏会渐 渐淡入,用户可以用它来加粗、倾斜、选择字号、 颜色等。如果将鼠标指针移开,则微型工具栏会 渐渐淡出。如果不想使用微型工具栏设置格式, 只需将指针移开一段距离,微型工具栏即会自动 消失。
“外部数据”选项卡
10.1.2 Access2010的界面
“数据库工具”选项卡 利用“数据库工具”选项卡可以完成以下功 能:启动VB编辑器或运行宏、创建或查看表关系、 显示隐藏对象相关性或属性工作表、运行数据库 文档或分析性能、将数据移至数据库、运行链接 表管理器、管理Access加载项、创建或编辑VBA模 块等。
10.2.2 表的建立
创建“联系人”表
表操作
10.2.2 表的建立
使用表设计创建表操作步骤: ①启动Access2010,新建数据库“表示例” ② 切换到“创建”选项卡,单击“表格”组中的 “表设计”按钮,进入表的设计视图。
10.2.2 表的建立
③ 在“字段名称”栏中输入字段的名称“学号”; 在“数据类型”选择该字段的数据类型,这里选择 “数字”选项;“说明”栏可以输入也可以不输入 ④ 用同样的方法,输入其它字段名称,并设置相应 的数据类型。 ⑤ 选择要设为主键(能唯一标识一条记录的字段) 的字段, 在“设计” 选项卡的“工具”组中,单 击 “主键”按钮,即可将其设为主键。
vfp10
2.在连编一个项目之前,需要在项目管理器中指定一个主程序。下列 .在连编一个项目之前,需要在项目管理器中指定一个主程序。 类型的文件中, 类型的文件中,不可以指定为主程序的是 B 。 A.查询文件 . B.文本文件 . C.表单文件 . D.菜单文件 .
参考资料
崔建忠,单启成.2009. 实验指导书( 年版) 1 .崔建忠,单启成.2009.Visual FoxPro 实验指导书(2008 年版)苏州大 学出版社. 学出版社. 2 .江苏省教育厅.2009.江苏省高等学校非计算机专业学生计算机基础知识和 江苏省教育厅.2009. 苏州大学出版社. 应用能力等级考试大纲 苏州大学出版社. 教育部考试中心.2010.全国计算机等级考试二级教程—— ——Visual 3 .教育部考试中心.2010.全国计算机等级考试二级教程——Visual FoxPro 数据库程序设计( 年版) 高等教育出版社. 数据库程序设计(2010 年版) 高等教育出版社. 教育部考试中心.2011.全国计算机等级考试二级教程—— ——Visual 4 .教育部考试中心.2011.全国计算机等级考试二级教程——Visual FoxPro 数据库程序设计(2011 年版) 高等教育出版社. 数据库程序设计( 年版) 高等教育出版社. 卢湘鸿.2011. 数据库与程序设计. 5 .卢湘鸿.2011.Visual FoxPro 6.0 数据库与程序设计.3 版 电子工业出 版社. 版社. 王能斌.2008.数据库系统教程. [M].北京:电子工业出版社. 6 .王能斌.2008.数据库系统教程.2 版.[M].北京:电子工业出版社. 严明,单启成.2010. 教程( 年版) 苏州大学出版社. 严明,单启成.2010.Visual FoxPro 教程(2010 年版) 苏州大学出版社. 7 .赵淑芬.2011.二级Visual FoxPro 数据库程序设计 清华大学出版社. 赵淑芬.2011.二级Visual 清华大学出版社. 江苏省教育厅《 8.江苏省教育厅《江苏省高等学校非计算机专业学生计算机基础知识和应用能 力等级考试大纲》 力等级考试大纲》苏州大学出版社 2004.5 主编《 FoxPro及其应用系统开发 及其应用系统开发》 9. 史济民 主编《Visual FoxPro及其应用系统开发》2007.4 End
数据库应用技术10
10.1.3 深入SQL-DMO 对象
例程10.3:在VB中用SQL-DMO对象建立到数据库Book的连接,并且在该数据库上建立一个视图,该视图返回与“北 京怡神工贸有限公司”签定的所有合同。代码如下: Dim objSQLSERVER As SQLDMO.SQLServer Set objSQLSERVER = New SQLDMO.SQLServer Dim objDB As SQLDMO.database Dim objView As SQLDMO.View On Error GoTo ErrorHandler objSQLSERVER.LoginTimeout = -1 objSQLSERVER.LoginSecure = False objSQLSERVER.AutoReConnect = False objSQLSERVER.Connect "red", "sa", "" Set objDB = objSQLSERVER.Databases("book") Set objView = New SQLDMO.View = "GetContract" objView.Text = "Create View GetContract AS" _ & " select companyname,contractid from company,contract" _ & " where panyid=panyid " _ & " and companyname='北京怡神工贸有限公司'" objDB.Views.Add objView MsgBox "创建成功!" objSQLSERVER.DisConnect Set objSQLSERVER = Nothing Set objDB = Nothing Set objView = Nothing Exit Sub ErrorHandler: MsgBox "错误: " & Err.Number & " " & Err.Description, vbOKOnly, "提示"
第10章 SQL Server数据库应用开发技术
返回目录
10.1 游标
10.1.3 游标的使用步骤
1.声明游标 语法格式: 语法格式: DECLARE 游标名 CURSOR [LOCAL | GLOBAL ][ FORWARD_ONLY | SCROLL ] [ STATIC | DYNAMIC ][ READ_ONLY ] FOR SELECT语句 [ FOR UPDATE [ OF 列名 [ ,...n ] ] ] 功能: 功能:声明游标,定义游标的属性。
3.利用游标访问数据 语法格式: 语法格式:
FETCH [[ NEXT | PRIOR | FIRST | LAST | ABSOLUTE n | RELATIVE n] [INTO @变量名 [ ,...n ] ]
功能: 功能: 从结果集提取(即检索)单个行,并将每列中的数据移至 指定的变量中,以便其他 Transact-SQL 语句引用那些变量来 访问提取的数据值。根据需要,可以对游标中当前位置的行执 行修改操作(更新或删除)。
第10章 游标及事务 10章
知识技能目标: 知识技能目标:
1.理解游标的概念,掌握利用游标逐行处理数 .理解游标的概念, 据行的方法。 据行的方法。 2.理解事务的概念,掌握事务的使用方法。 .理解事务的概念,掌握事务的使用方法。
第10章 游标及事务 10章
引导案例: 引导案例:
通过在教务管理数据库中的学生表上建立触发 器实现了对班级表中相应班级人数的自动更新。 器实现了对班级表中相应班级人数的自动更新。但 是当一次修改多条记录时,触发器却只被触发一次, 是当一次修改多条记录时,触发器却只被触发一次, 即人数只增加或减少1 如何解决这个问题呢? 即人数只增加或减少1。如何解决这个问题呢?这就 需要使用本章介绍的游标技术。 需要使用本章介绍的游标技术。 在某些应用中需要把一些操作作为一个整体, 在某些应用中需要把一些操作作为一个整体, 或者都做,或者都不做, 或者都做,或者都不做,本章介绍利用事务解决此 类问题的方法。 类问题的方法。
数据库系统第10章--数据库恢复技术
写回A=13
T1的修改被T2覆盖了!
PPT课件
4. 持续性
❖ 持续性也称永久性(Permanence)
▪ 一个事务一旦提交,它对数据库中数据的改变就应该 是永久性的。
▪ 接下来的其他操作或故障不应该对其执行结果有任何 影响。
PPT课件
事务的特性
❖ 保证事务ACID特性是事务处理的任务 ❖ 破坏事务ACID特性的因素
PPT课件
事务结束
COMMIT 事务正常结束 提交事务的所有操作(读+更新) 事务中所有对数据库的更新永久生效
ROLLBACK 事务异常终止 ▪ 事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 ▪ 事务滚回到开始时的状态
PPT课件
二、事务的特性(ACID特性)
事务的ACID特性:
PPT课件
事务内部的故障(续)
❖ 这个例子所包括的两个更新操作要么全部完成要么全部不 做。否则就会使数据库处于不一致状态,例如只把账户甲 的余额减少了而没有把账户乙的余额增加。
❖ 在这段程序中若产生账户甲余额不足的情况,应用程序可 以发现并让事务滚回,撤销已作的修改,恢复数据库到正 确状态。
PPT课件
数据库系统概论
An Introduction to Database System
第十章 数据库恢复技术
PPT课件
第十章 数据库恢复技术
10.1 事务的基本概念 10.2 数据库恢复概述 10.3 故障的种类 10.4 恢复的实现技术 10.5 恢复策略 10.6 具有检查点的恢复技术 10.7 数据库镜像 10.8 小结
▪ 多个事务并行运行时,不同事务的操作交叉执行 ▪ 事务在运行过程中被强行停止
PPT课件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//连接数据库的示例代码如下 //连接数据库的示例代码如下 hr = m_pConnection->Open(_T("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\Employee.mdb"),_T(""),_T(""),adModeUnknown); if(!SUCCEEDED(hr)) { AfxMessageBox(_T("连接到数据库失败!")); }
BOOL CadoTestApp::InitInstance() { if (!AfxOleInit()) { AfxMessageBox(_T("初始化OLE失败!")); return FALSE; } ...... } - 14 -
ADO数据库编程—连接数据库 1. 创建连接对象实例
先在类定义的头文件中声明_ConectionPtr对象指针作为类的数 对象指针作为类的数 先在类定义的头文件中声明 据成员 而后在类的成员函数中,调用连接对象的 而后在类的成员函数中,调用连接对象的CreateInstance()成员 成员 函数创建连接对象实例 //类头文件 //类头文件 protected: _ConnectionPtr m_pConnection;
-7-
数据库基础知识—数据库访问技术 为了降低开发数据库应用程序的难度,微软推出了一 些标准的访问DBMS的技术。这些技术包括ODBC、 DAO、OLE DB、ADO等。 以上几种技术中,DAO已经很少使用了;ODBC是基 于C语言的;ADO比较新,而且支持自动化,所以使 用的比较多。微软已经基本停止对ODBC和DAO的继 续发展,大力推荐使用ADO
- 16 -
ADO数据库编程—连接数据库 3. 执行SQL语句
调用连接对象的Execute()函数可以执行 函数可以执行SQL语句,该函数的原 语句, 调用连接对象的 函数可以执行 语句 型如下 _RecordsetPtr Execute (
//要执行的文本命令 要执行的文本命令, SQL语句 语句、 _bstr_t CommandText, //要执行的文本命令,如SQL语句、表名 VARIANT * RecordsAffected, //执行命令后的返回值 //执行命令后的返回值 //要执行命令的类型 要执行命令的类型, long Options); //要执行命令的类型,含义见下表
-9-
ADO数据库编程—ADO技术 ADO编程步骤:
导入ADO库。 ① 导入 库 初始化OLE/COM库。 ② 初始化 库 利用Connection对象连接数据库。 对象连接数据库。 ③ 利用 对象连接数据库 ④ 利用建立好的连接,通过 利用建立好的连接,通过Connection、Command对象执行 、 对象执行 SQL命令,或利用 命令,或利用Recordset对象取得结果集进行查询和处理。 对象取得结果集进行查询和处理。 命令 对象取得结果集进行查询和处理 使用完毕后关闭连接,释放相应对象。 ⑤ 使用完毕后关闭连接,释放相应对象。
数据库管理系统(简称DBMS)是指数据库系统中对数据进行 管理的软件系统,它是数据库系统的核心组成部分。例如 Access、Sysbase、Oracle和SQL Server等都是DBMS 。 DBMS的主要目标是使数据作为一种可管理的资源来处理,使 数据易于为各种不同的用户所共享,并增进数据的安全性、完 整性,同时提供高度的数据独立性。 在DBMS中,游标是一个十分重要的概念。从用户的角度看, 游标总是与一条SQL语句相关联,游标由结果集和结果集中指 向特定记录的位置组成。
第 10 章
数据库应用程序
本章目标
理解关系数据库的概念 掌握常用的SQL语句的使用 掌握利用ADO对象进行数据库应用程序编程的方法
-2-
数据库基础知识—数据库基本概念 数据库是数据的集合,常见的关系型数据库由一个或 多个表组成,每一个表中都存储了一组(或一类对象 的)数据描述 。 可以在表中定义主键,主键的作用如下:
-8-
ADO数据库编程—ADO技术
ADO中和数据库操作相关的对象主要有三个核心对象:
连接对象( 连接对象(Connection):管理应用程序和数据库之间的通信。 ) 管理应用程序和数据库之间的通信。 在数据库应用程序里操作数据库都必须通过该对象。 在数据库应用程序里操作数据库都必须通过该对象。该对象代表 了与数据库的一个会话,在客户/服务器模式下 服务器模式下, 了与数据库的一个会话,在客户 服务器模式下,这个会话相当 于与服务器的一次网络连接。 于与服务器的一次网络连接。 命令对象(Command) 命令对象(Command):该对象是一个对数据库执行命令的定 可以执行一个批量的数据操作, 义。可以执行一个批量的数据操作,例如可以用来查询数据库并 返回一个Recorset对象。 对象。 返回一个 对象 记录集对象( 记录集对象(Recordset):如果执行的命令是一个查询并返回 ) 存放在表中的结果集,这些结果集将保存在一个Recordset对象 存放在表中的结果集,这些结果集将保存在一个 对象 通过Recordset对象可以操纵来自数据提供者的数据,包括 对象可以操纵来自数据提供者的数据, 中。通过 对象可以操纵来自数据提供者的数据 修改、更新行、插入和删除行。 修改、更新行、插入和删除行。
SET TRANSACTION 定义当前事务数据访问特征
-6-
数据库基础知识—结构化查询语言
数据库中常用的数据类型 :
数据类型 Char(Size) Int(或Interger) Real DATA TIME TIMESTAMP BINARY VARBINARY 说明 固定长度的字符串型,Size指定字符数,一般不能超过255 32位整数 32位浮点数 日期型数据,使用10个字符保存4位的年、2位的月和2位的日期, 例如2011-10-18 时间型数据,时、分、秒,分别是2位数。 既包括日期也包括时间 定长二进制数据,最大长度要根据具体的DBMS的定义 可变长二进制数据,最大长度要根据具体的DBMS的定义
- 10 -
ADO数据库编程—ADO技术 _variant_t数据类型 :
库中经常使用到_variant_t类型。该类型是一个继承自结 类型。 在COM库中经常使用到 库中经常使用到 类型 构体tagVARIANT的类类型,tagVARIANT结构体其实是一个多 的类类型, 构体 的类类型 结构体其实是一个多 种数据类型的联合。从编程角度看, 种数据类型的联合。从编程角度看,_tagVARIANT结构体是一 结构体是一 种万能数据类型, 种万能数据类型,可以用来存储各种类型的数据
保证实体的完整性; 保证实体的完整性; 加快数据库的操作速度; 加快数据库的操作速度; 在表中添加新记录时,数据库系统自动检查新纪录的主键值, 在表中添加新记录时,数据库系统自动检查新纪录的主键值,不 允许该值与其他记录的主键值重复。 允许该值与其他记录的主键值重复。
-3-
数据库基础知识—数据库管理系统
_bstr_t是一个 是一个COM库中的类,其封装了 库中的类, 数据类型, 是一个 库中的类 其封装了BSTR数据类型,而 数据类型 BSTR是COM库中用来表示 是 库中用来表示UNICODE编码的字符串。 编码的字符串。 库中用来表示 编码的字符串
//程序员可以直接将字符指针赋值给_bstr_t类型的数值,例如: //程序员可以直接将字符指针赋值给_bstr_t类型的数值,例如: 程序员可以直接将字符指针赋值给_bstr_t类型的数值 _bstr_t sUserName = _T(“123456”);
-5-
数据库基础知识—结构化查询语言
主要的SQL语句:
种类 语句 CREATE TABLE 数据定义 ALTER TABLE DROP TABLE 数据查询 SELECT INSERT 数据操纵 UPDATE DELECT COMMIT 事务控制 ROLLBACK 功能 创建一个数据库表 修改数据库表结构 从数据库中删除表 从数据库中检索数据行和列 向数据库表中添加新数据行 更新数据库表中的数据 从数据库表中删除数据行 结束当前事务 回滚当前事务
直接用导入符号#import导入ADO库文件,示例代码如下:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename ("EOF","adoEOF")
而后,一般在应用程序类的InitInstance()成员函数里,初始化 OLE/COM库 :
-4-
数据库基础知识—结构化查询语言
依据SQL的执行功能,可以将SQL分为以下几部分 :
数据定义语言( ):用于创建 数据定义语言(DDL):用于创建、修改或删除数据库对象,如表、视 ):用于创建、修改或删除数据库对象,如表、 关键字包括CREATE、 图、模式、触发器和存储过程等。相关的主要SQL关键字包括 模式、触发器和存储过程等。相关的主要 关键字包括 、 ALTER和DROP。 和 。 数据查询语言( ):用于数据检索查询 数据查询语言(DQL):用于数据检索查询。相关的主要 ):用于数据检索查询。相关的主要SQL关键字如 关键字如 SELECT。 。 数据操纵语言( ):用于添加 数据操纵语言(DML):用于添加、修改或删除存储在数据库中的数据。 ):用于添加、修改或删除存储在数据库中的数据。 相关的SQL关键字包括 关键字包括INSERT、UPDATE和DELECT。 相关的 关键字包括 、 和 。 数据控制语言( ):控制访问数据库中特定对象的用户 数据控制语言(DCL):控制访问数据库中特定对象的用户,还可以控 ):控制访问数据库中特定对象的用户, 制用户的数据库的访问类型。相关的 关键字包括GRANT、DENY 制用户的数据库的访问类型。相关的SQL关键字包括 关键字包括 、 和REVOKE。 。 其他语言要素: 还包括一些其他要素( 其他语言要素:SQL还包括一些其他要素(如事务控制等)。 还包括一些其他要素 如事务控制等)。