




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第9章 JSP数据库应用开发,2,主要内容,1.数据库简介 2.关系数据库语言SQL 3.SQL Server 2000简介 4.JDBC,3,1.数据库简介,1.1 数据库基本术语 数据(Date) 数据库(DataBase) 数据库管理系统(DBMS-DataBase Management System) 数据库管理员(DBA-DataBase Administrator) 数据库系统(DBS-DataBase System),4,5,1.2 关系数据库 关系数据库是以关系模型为基础的,关系模型是利用二维表格表示数据的数据模型。 下面以一个名为University的数据库为例,介绍关系数据库中的基本概念。 假设需要在数据库University中保存某所学校的学生信息和院系信息,分别见表9-1、表9-2。由于表9-1、表9-2与关系模型的二维表格类似,因此采用关系模型来表示University数据库,并将University数据库中存储的两个数据表(DataTable)命名为Student和Department,也称为关系Student和关系Department。,6,7,关系的首行称为属性(attribute),也称为字段(field)、数据项、数据元素等,关系的属性就是关系各列的名字,属性描述了所在列的意义。例如关系Student具有如下6个属性:Xuehao、Name、Sex、Age、Jiguan和Dept,各个属性分别表示学生的学号、姓名、性别、年龄、籍贯和系别。 关系中每一个属性都有一个取值范围,称为该属性的域(Domain)。例如在Student关系中,属性Xuehao、Name、Sex、Jiguan、Dept的域必须是字符串型,且属性Sex的取值必须为“男”或“女”,属性Age必须为大于0的整数型。,8,关系名和关系的属性集合称为关系的模式。要表示一个关系的模式,一般用括号将属性集括起来,并将关系名写在括号的前面,格式如下: Relation_Name(attribute1,attribute2,attribute3, ) 下面表示关系Student的模式: Student(Xuehao,Name,Sex,Age,Jiguan,Dept) 在关系中,字段的有序集合称为记录,记录的各个分量分别对应着关系的各个属性。要表示一条记录,一般用括号将整条记录的分量括起来,并用逗号将各分量隔开,如下表示一条记录: (2004001,张三,男,20,湖北武汉,计算机),9,在关系中,能惟一标识记录的属性集称为关系模式的超键(Super Key)。例如在关系Student中包含有Xuehao属性的属性集均为超键,如(Xuehao,Name)、(Xuehao,Sex)、(Xuehao,Age,Jiguan)、(Xuehao,Sex,Age,Dept)等。 在关系中,不含有多余属性的超键称为候选键(Candidate Key),在候选键中用户选择作为记录标识的候选键称为主键(Primary Key),在不作说明的情况下,键一般指主键。例如在关系Student中,(Xuehao,Name)为关系Student的超键,但不是候选键,候选键为(Xuehao),由于候选键只有一个,因此主键也为(Xuehao)。,10,在关系中,如果模式R中的属性K是其他模式的主键,则属性K在模式R中称为外键(Foreign Key)。例如在关系Student和关系Department中,Dept为关系Student的属性,且Dept为关系Department的主键,则在关系Student中称属性Dept为外键。,11,完整性规则 实体完整性规则(Entity Integrity Rule) 参照完整性规则(Reference Integrity Rule) 用户定义的完整性规则,12,2.关系数据库语言SQ L,SQL(Structured Query Language)是结构化查询语言的简称,它被ANSI(American National Standards Institute,美国国家标准协会)称为关系数据库管理系统的标准语言。SQL语言的主要功能是同各种数据库建立联系,进行沟通,它可用来执行各种操作,如从数据库中检索数据、更新数据库中的数据等。,13,2.1 SQL语言的组成 数据定义语言(DDL-Data Definition Language) 数据操纵语言(DML-Data Manipulation Language) 数据控制语言(DCL-Data Control Language) 嵌入式SQL语言,14,2.2 SQL语言的数据类型 SQL的数据类型主要可分为3类: 数字类型 日期和时间类型 字符和字符串类型,15,2.3 SQL运算符 运算符(Operators)是一种符号,用来指定要在一个或多个表达式中执行的操作。SQL运算符可分为以下6类。 赋值运算符(Assignment Operators) 算术运算符(Arithmetic Operators) 逻辑运算符(Logical Operators) 位运算符(Bitwise Operators) 比较运算符(Comparison Operators) 字符串连接运算符(String Concatenation Operators),16,2.4 SQL函数 聚合函数: 聚合函数主要作用于SELECT语句所选取的记录集,并返回记录的一些统计信息,如sum、max、min、avg、count等。 纯量函数 纯量函数主要是针对传递的参数值来进行运算处理的,并返回一个单一值。按功能特性来分,纯量函数可分为算术函数、字符串函数、时间日期函数和中继数据函数等4类,17,2.5 数据定义语言 模式的创建和删除 在SQL中,数据表的集合称为一个模式,也可理解为前面介绍过的数据库。一个模式由模式名和模式拥有者的名称来确定,格式如下: CREATE SCHEMA schemaName AUTHOTIZATION user 若一个模式及其所属的数据表、索引、视图等元素都不需要时,可删除该模式,格式如下: DROP SCHEMA schemaName CASCADE|RESTRICT,18,创建一个数据表的格式如下: CREATE TABLE table_name ( colname1 datatype constraint, colname2 datatype constraint, colnameN datatype constraint, 完整性约束,); 其中table_name表示所要创建的表名,colname1、colname2colnameN表示所要创建的属性名,datatype表示属性的数据类型,constraint表示限制条件,19,为加快数据的查询速度,满足不同的排序要求,需要在数据表的一个或多个字段上建立索引。索引就好像图书的目录,通过查询图书的目录,可以方便地查出所要阅读的章节的页号,通过查询数据表中的索引,也可以快速查找所要查询的记录。 在数据表上创建一个索引的格式如下: CREATE UNIQUE INDEX index_name ON table_name(attribute_list),20,2.6 数据操纵语言 数据查询是指在数据库中查询符合特定条件的数据记录,其格式如下: SELECT DISTINCT|ALL select_expression INTO table_name FROM table_list WHERE where_conditions GROUP BY col_name1,col_name2, HAVING where_conditions ORDER BY col_name1 ASC|DESC,col_name2 ASC|DESC,21,在SQL中要想在数据表中插入数据,必须使用INSERT语句,格式如下: INSERT INTO table_name1(attribute_list) VALUES(values1,values2,) | SELECT查询语句 | TABLE table_name2 其中要插入的数据有下列三种形式。 values(values1,values2,):表示在table_name1中插入若干个记录的实例。 SELECT查询语句:表示将SELECT语句查询的结果值插入至表table_name1中。 TABLE table_name2:表示将表table_name2中的值插入至表table_name1中,22,若要修改数据表中的数据,必须使用UPDATE语句,格式如下: UPDATE table_name SET (column1=expression|DEFAULT|NULL) column2= WHERE where_conditions 若要删除数据表中数据,必须使用DELETE语句,格式如下: DELETE FROM table_name WHERE where_conditions,23,3 SQL Server 2000简介,在JSP编程过程中,可能会接触到各种不同的数据库,本节将向读者介绍一种常用的数据库管理系统SQL Server 2000。SQL Server 2000是目前市场上功能强大的关系型数据库管理系统之一,它提供了用于建立用户连接、提供数据安全性和查询请求服务的全部功能,读者所要做的只是建立一个数据库和与之相交互的应用程序,不必为具体的数据库底层的操作担心。它是独立于JSP而存在的,在JSP的开发过程中,可以方便地管理数据库,而不必担心数据库的更改会影响到JSP程序的变更。,24,4 JDBC,4.1 JDBC简介 JDBC(Java DataBase Connectivity,Java数据库连接)是Sun公司制定的Java连接数据库技术的简称。它是Sun公司联合数据库开发商开发出来的独立于DBMS的API(Application Programming Interface,应用程序接口),它为Java开发者使用数据库提供了统一的API。,25,JDBC提供了四种连接数据库的驱动程序方法。 JDBC-ODBC桥(JDBC-ODBC Bridge)驱动程序。 本机代码和Java驱动程序。 纯Java驱动程序。 本机协议Java驱动程序。,26,4.3 JDBC编程 利用JDBC实现数据库的操作一般可分为如下几个步骤。 加载JDBC驱动程序。 获取连接接口。 创建Statement对象。 执行Statement对象。 查看返回的结果集。 关闭结果集对象。 关闭Statement对象。 关闭连接接口。,27,数据库URL 要连接一个数据库,必须指定数据库以及相应的参数。JDBC使用和网络URL类似的语法来描述数据库,格式如下: jdbc:subprotocol:data source identifier 其中subprotocol表示连接数据库的驱动程序名,data source identifier表示数据源的有关信息。 如下是一个利用JDBC/ODBC桥访问名为university的ODBC源数据库的例子: jdbc:odbc:university jdbc:odbc:university?user=admin&password=123456,28,加载JDBC驱动程序 利用JDBC/ODBC桥驱动程序连接SQL Server 2000数据库 利用第三方JDBC驱动程序连接SQL Server 2000数据库,29,建立数据库连接 建立一个数据库URL并且加载JDBC驱动程序后,可以调用DriverManager类的getConnection方法与数据库建立连接,格式如下: public static Connection getConnection(String url) throws SQLException 其中url表示所要连接的数据库的URL,该方法将抛出SQLException异常,并返回一个Connection对象。,30,创建Statement对象 Statement对象主要是用来执行SQL语句,可以利用Connection对象的createStatement方法创建一个Statement对象,该方法主要有如下两种常用形式。 public Statement createStatement() throws SQLException public Statement createStatement(int resultSetType,int resultSetConcurrency) throws SQLException,31,小结,JSP数据库应用开发是JSP开发中的重点和难点,只有掌握了数据库开发,JSP才能发挥其最大功效。本章从关系数据库出发,依次介绍了SQL语言、SQL Server 2000、JDBC驱动程序、JDBC编程,最后通过一个学籍管理系统实例介绍了如何在JSP中进行数据库应用开发。 通过本章学习,读者应掌握基本的数据库知识及SQL语言知识,会利用SQL Server 2000管理数据库,并能利用JDBC在JSP中数据库应用程序。,32,习题,一、填空题 (1)数据库系统通常由_、_、_、_和_组成。 (2)完整性规则有_、_和_。 (3)要更新数据表中的数据,应使用SQL语言的_命令。 (4)JDBC是_的缩写,它的中文名称是_。,33,(5)列举出几种常用的数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五Oracle企业数字化转型咨询服务协议
- 二零二五年度二次结构工程材料供应合同范本下载
- 二零二五年度建筑工地民工劳动权益保护及法律援助合同
- 二零二五年度建筑工程造价咨询委托协议书
- 二零二五年度建筑公司整体转让及安全管理合同
- 二零二五年度文化产业项目劳务派遣合作合同
- 二零二五年度物流快递车辆加盟服务合同
- 2025至2030年中国黑龙江省房地产市场深度分析及投资战略咨询报告
- 二零二五年度高科技项目工程战略合作协议书
- 2025版办公楼物业综合服务及设施设备更新改造合同模板
- 2025年秋季新学期教学工作会议上校长讲话:扎根课堂、走近学生、做实教学-每一节课都值得全力以赴
- 2025年党建知识应知应会测试题库(附答案)
- 2025劳动合同范本【模板下载】
- 以课程标准为导向:上海市初中信息科技教学设计的探索与实践
- 2025年公共基础知识考试试题(附完整答案)
- 北川羌族自治县农业农村局北川羌族自治县测雨雷达建设项目环评报告
- 2025社区工作者必考试题库(含答案)
- 2025年山东青岛海关缉私局辅警招聘考试笔试试卷【附答案】
- 2025年中国药典试题及答案
- 昆明一中实验班数学试卷
- 2025年腾讯校招综合素质测评试题及答案
评论
0/150
提交评论