网络数据库课程讲稿_第1页
网络数据库课程讲稿_第2页
网络数据库课程讲稿_第3页
网络数据库课程讲稿_第4页
网络数据库课程讲稿_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1网络数据库课程讲稿(赵晨)第一部分:网络数据库理论第一节:数据库设计过程数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库设计过程主要包含一下几个主要的过程:需求分析阶段综合各个用户的应用需求(现实世界的需求) ,在概念设计阶段形成独立于机器特点、独立于各个 DBMS 产品的概念模式(信息世界模型) ,用 E-R 图来描述。逻辑设计阶段将 E-R 图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。物理设计阶段根据 DBMS 特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。第二节:关系模型关系模型是关系数据库的基础,它利用关系来描述现实世界。而一个关系可以用来描述实体及其属性,也可用来描述实体间的联系。以用户的观点来看,一个关系就是一张二维表。概念模型中 关系理论中 关系数据库中 某些软件中实体集(Entity set) 关系(relation) 表(Table) 表(或数据库文件)实体(Entity) 元组(Tuple) 行(Row) 记录(Recode)属性(Attribute) 属性(Attribute) 列(Col) 字段(Field)主码(Primary key) 主码(Primary key) 关键字(Primary key)关键字(Primary key)关系的特点: 关系的每一行定义实体集的一个实体,每一列定义实体的一个属性。 每一行必须有一个主码,主码是一个属性组(可以是一个属性) ,它能惟一的标识一个实体。 每一列表示一个属性,且列名不能重复。 列的每个值必须与对应属性的类型相同。 列有取值范围,称为域。 列是不可分割的最小数据项。 行、列的顺序对用户无关紧要。2关系中的术语 候选码(Candidate Key)若关系中的某一属性组(或单个属性)的值能惟一的标识一个元组,则称该属性组(或属性)为候选码。一般选择一个候选码作为关系的主码。 主属性(Prime Attribute)和非主属性关系中包含在任何一个候选码中的属性称为主属性。不包含在任何一个候选码中的属性称为非主属性。 设 F 是基本关系 R 的一个或一组属性,但不是关系 R 的主码(或候选码) 。如果 F 与基本关系 S 的主码 KS 相对应,则称 F 是基本关系 R 的外码,并称基本关系 R 为参照关系,称基本关系 S 为被参照关系。关系模型中的三类完整性约束 实体完整性规则:若属性 A 是关系 R 的主属性,则 A 不能取空值。 参照完整性规则: 若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 KS 相对应,则对于 R 中的每个元组在 F 上的值必须满足:或者取空值(F 的每个属性均为空值) ,或者等于 S 中某个元组的主码值。例如:在授课系统的关系模型中:课程(课号,课名,学分) 课号关系课程的主码教师(工号,姓名,职称,课号) 课号是关系教师的外码参考书(书号,书名,课号)关系教师是参照关系,关系课程是被参照关系。在授课系统的关系模型中,关系教师中的外码“课号”只能是下面两类值:(1) 空值。表示还未给该教师安排课。(2) 非空值,但此值必须为被参照关系课程中某一门课程的“课号” 用户定义的完整性规则:用户定义的完整性就是针对某一具体要求来定义的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,某个属性必须取惟一值;某些属性之间应满足一定的函数关系;某个属性在一定的取值范围之间等。关系模型应提供定义和检验这类完整性的机制,以便系统用统一的方法处理它们,而不需要由应用程序来承担这一功能。完整性规则检查:为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,就要检查是否满足以上三类完整性规则。 当执行插入操作时:首先检查实体完整性规则,插入行的主码属性上的值,是否已经存在。若不存在,可以执行插入操作;否则不可以执行插入操作。再检查参照完整性规则,如果是向被参照关系插入,不需要考虑参照完整性规则;如果是向参照关系插入,插入行在外码属性上的值是否已经在相应被参照关系的主码属性值中存在。若存在,可以执行插入操作;否则不可以执行插入操作,或将插入行在外码属性上的值改为空值后再执行插入操作( 假定该外码允许取空值 )。最后检查用户定义完整性规则,检查被插入的关系中是否定义了用户定义完整性规则,如果定义了,检查插入行在相应属性上的值是否符合用户定义完整性规则。若符合,可以执行插入操作;否则不可以3执行插入操作。 当执行删除操作时:一般只需要检查参照完整性规则。如果是删除被参照关系中的行,则应检查被删除行在主码属性上的值是否正在被相应的参照关系的外码引用,若没被引用,可以执行删除操作,若正在被引用,有三种可能的做法:不可以执行删除操作(拒绝删除),或将参照关系中相应行在外码属性上的值改为空值后再执行删除操作 (空值删除),或将参照关系中相应行一起删除 (级联删除)。 当执行修改操作时:因为修改操作可看成先执行删除操作,再执行插入操作,因此是上述两种情况的综合。4第二部分:数据库的基本操作第一节:SQL SERVER2000 数据库一、数据库的安装(提供个人版的安装程序,运行安装程序,打补丁 SP4(SQL2000-KB884525-SP4-x86-CHS.EXE), 可能出现的问题:安装 SQL Server2000 个人版时出现错误提示:说是以前安装的某个程序使文件挂起,必须重新启动。解决方法:在注册表编辑器里依次展开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager 然后选中 Session Manager,在右边窗格中找到 PendingFileRenameOperations 键值,将其删除。)超级用户是 sa,设置口令(12345678) ,默认端口号:1433。二、数据库的使用1、 启动 SQL SERVER 2000 数据库(用 SQL Server 服务管理器启动,或启动 SQL Server 进程)2、 打开 SQL Server Enterprise Manager5一般需要操作的内容:1)建立一个你的数据库(如 mydb)也可以用 SQL 语句,如 CREATE DATABASE MyDb;DROP DATABASE MyDb;2)对 mydb 数据建立一个登录用户,设置它的登陆属性(密码,权限,默认语言和数据库等,如登录用户 zhaoc,口令 111111)3)用建立的登录用户登录 SQL 查询分析器64)在登录的 SQL 查询分析器,练习 SQL 语句的使用(要学会使用 SQL Server 联机丛书) 建表:如创建“ 学生表 ”student,它由学号 id、姓名 name、性别 sex、班级号 class、出生日期 birthday 等 5 个属性组成。其中学号不能为空,值必须惟一,且姓名也必须惟一和非空。 CREATE TABLE student ( id CHAR(8) NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, sex CHAR(4) DEFAULT 男 NOT NULL, class CHAR(8), birthday SMALLDATETIME)CREATE TABLE class (id CHAR(8) NOT NULL UNIQUE, classname VARCHAR(20) NOT NULL, grade VARCHAR(10) 建索引:CREATE UNIQUE INDEX stuid_ind ON student(id ASC) 删除表DROP TABLE student 插入记录:INSERT INTO student (id, name, sex, class, birthday) VALUES (08061200,张三, 男, 软件工程, 1998-01-02 )INSERT INTO class (id, classname, grade) VALUES (1, 软件工程, 1 年级 )7 修改记录:UPDATE student SET birthday=1988-10-02 WHERE id=08061200 删除记录:DELETE FROM student WHERE id=08061200DELETE FROM student 注意:删除所有记录,是清空表中数据,因此不加WHERE 子句。这类操作的执行应非常小心。 数据查询:SELECT 语句的含义是,根据 WHERE 子句指定的条件,从FROM 子句后面的基本表或视图中找出满足条件的记录,再按照 SELECT子句指定的目标列表达式,选出这些记录相应的列形成结果集返回。其中,SELECT 子句和 FROM 子句是必选的,而 WHERE 子句、GROUP BY 子句、HAVING 子句以及 ORDER BY 子句都是可选的。例如:SELECT id,name,birthday FROM student WHERE class=软件工程 创建视图:视图不包含任何数据,只是定义在一个或多个基表上或其他视图上,并且提供一种访问基表数据的方法。在物理磁盘上存储的有关视图的信息是:视图的名称和视图的定义。视图的所有数据来自基本表。因此,当基本表的数据发生变化时,对应视图中的查询出的数据也会随之变化。视图一经定义,就可以象基本表一样执行查询、删除等操作,也可以在视图上定义新的视图,但对视图的更新操作则有一定限制。例如:CREATE VIEW student_view AS SELECT student.id, , student.sex, student.class, student.birthday, class.grade FROM student, class WHERE student.class = class.classname 创建存储过程:存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。如:下面的存储过程 au_info 从 student_view 视图中返回指定的性别作者、年级的所有人员。该存储过程接受与传递的参数精确匹配的值。USE mydbIF EXISTS (SELECT name FROM sysobjects WHERE name = au_info AND type = P)8DROP PROCEDURE au_infoGOUSE mydbGOCREATE PROCEDURE au_info first_para varchar(4), second_para varchar(10) AS SELECT * FROM student_view WHERE sex = first_paraAND grade = second_paraGO执行该存储过程EXECUTE au_info 男, 1 年级 创建触发器:触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。一般允许为任何给定的 INSERT、UPDATE 或 DELETE 语句创建多个触发器。如:下面的触发器 reminder 在表 student 的 INSERT, UPDATE, DELETE 过程显示表的所有信息。USE mydbIF EXISTS (SELECT name FROM sysobjectsWHERE name = reminder AND type = TR)DROP TRIGGER reminderGOCREATE TRIGGER reminderON studentFOR INSERT, UPDATE, DELETE ASSELECT * FROM studentGO5)SQL SERVER2000 数据库的备份与恢复:9第二节:MY SQL 数据库MYSQL 是最流行的开放源码 SQL 关系数据库管理系统,目前有大量可用的共享 MYSQL软件。2008 年被 SUN 公司收购,可从 /downloads/下载。一、数据库的安装(SUN,提供 MySQL_5_1_28 的安装程序,提供Navicat mysql 数据库管理软件 V8.2.11 简体中文特别版管理软件)超级用户是 root,设置口令(缺省为空,这里设置为 12345678) ,默认端口号:3306。二MYSQL 的使用:系统缺省提供二个工具 MySQL Command Line Client、MySQL Server Instance Config Wizard。(1)MySQL Command Line Client:10一些常用的命令:C:Mysql5.0binmysql -h localhost -u root -p 启动 mysql 数据库服务器Show databases; 显示数据库Create database name; 创建数据库Use databasename; 选择数据库Show tables; 显示表Showevents; 显示事件describe tablename; 表的详细描述select version(),current_date; 显示当前 mysql 版本和当前日期 Quit; 退出(2)MySQL Server Instance Config Wizard:配置管理 MYSQL 数据库(注意,一般选择简体中文字符集 gb2312)11三、Navicat 8.2 for MySQL 的使用:管理用户:增加 zhaoc 用户,赋予相应权限,口令 111111,建立数据库 aa。对数据库的操作举例:CREATE TABLE student ( id CHAR(8) NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, sex CHAR(4) DEFAULT 男 NOT NULL, class CHAR(8), birthday DATETIME) ENGINE=InnoDB DEFAULT CHARSET=GB2312;INSERT INTO student (id, name, sex, class, birthday) VALUES (08061200,张三, 12男, 软件工程, 1998-01-02 );- - Table structure for user- -DROP TABLE IF EXISTS user;CREATE TABLE user (id bigint(40) NOT NULL AUTO_INCREMENT,name varchar(40) NOT NULL,pass varchar(40) DEFAULT NULL,email varchar(40) DEFAULT NULL,question varchar(40) DEFAULT NULL,answer varchar(40) DEFAULT NULL,oicq 避过 bigint(40) DEFAULT NULL,icq bigint(40) DEFAULT NULL,msn varchar(40) DEFAULT NULL,url varchar(40) DEFAULT NULL,PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET= GB2312;DROP TABLE IF EXISTS 储户基本信息,储户动态信息,储蓄所,存取款;DROP VIEW IF EXISTS 存取款视图;CREATE TABLE 储户基本信息( 账号 char (15) NOT NULL ,姓名 char (16) NULL ,电话 char (16) NULL ,地址 char (30) NULL ,开户行 char (10) NOT NULL ,开户日期 datetime NOT NULL,PRIMARY KEY(账号)ENGINE=InnoDB DEFAULT CHARSET=GB2312; INSERT INTO 储户基本信息 (账号, 姓名,电话,地址, 开户行,开户日期)VALUES (123, 王三,27830873,42,1204,2010-07-06 14:40:17);CREATE TABLE 储户动态信息( 账号 char (15) NOT NULL ,密码 char (6) NULL ,信誉 int NULL ,存款额 (元) decimal(12,2) NULL ,状态 int NULL ,13PRIMARY KEY(账号)ENGINE=InnoDB DEFAULT CHARSET=GB2312; INSERT INTO 储户动态信息 (账号, 密码,信誉,存款额(元), 状态)VALUES (123, *,1,3000.50,1);CREATE TABLE 储蓄所 ( 编号 char (15) NOT NULL ,名称 char (30) NOT NULL ,电话 char (16) NULL ,地址 char (30) NOT NULL ,PRIMARY KEY(编号)ENGINE=InnoDB DEFAULT CHARSET=GB2312; INSERT INTO 储蓄所 (编号, 名称,电话, 地址 )VALUES (12001, 杭州文一路分理处,23456664,杭州文一路);CREATE TABLE 存取款( 账号 char (15) NOT NULL ,编号 char (15) NOT NULL ,标志 int NOT NULL ,金额 (元 ) decimal(12,2) NOT NULL ,日期 datetime NOT NULL,PRIMARY KEY(账号,编号,日期) )ENGINE=InnoDB DEFAULT CHARSET=GB2312; INSERT INTO 存取款 (账号, 编号,标志, 金额 (元), 日期)VALUES (12001, 0001,1,3000.51,now();INSERT INTO 存取款 (账号, 编号,标志, 金额 (元), 日期)VALUES (12001, 0002,1,3000.52,now();/*UPDATE 存取款 SET 标志 =0 WHERE 账号=12001;DELETE FROM 存取款 WHERE 编号=0001;*/SELECT * FROM 存取款 WHERE 账号=12001;CREATE VIEW 存取款视图 AS SELECT * FROM 存取款 WHERE 账号=12001;事件管理:MySQL 的事件特性是一个相当有用的特性,特别对于 MySQL 单机和集群的数据14库管理员 DBA,相信是 DBA 必定要掌握的知识。也肯定当 MySQL 的 DBA 学习完了这个特性后,将这个特性用好,可以给自己省下 60的工作量。(1)定义事件CREATE EVENTIF NOT EXISTS /* 如果这个对象已经存在那么就不管它,如果没有就创建一个。 */event_name /* 事件名称,名称最大长度可以是64个字节,可以通过单引号限定 */ON SCHEDULE schedule /* 计划任务有两种设定计划任务的方式:AT 时戳 /* “单次的计划任务“ 、EVERY 时间(单位)的数量 时间单位 STARTS 时戳 ENDS时戳“重复的计划任务“ */ /* 例如:CREATE EVENT TransientON SCHEDULE AT NOW()DO SET a=a;CREATE EVENT Oneday_EventON SCHEDULE EVERY 1 DAYDO SET a=a;CREATE EVENT RecurringON SCHEDULE EVERY 1 YEAR STARTS NOW() ENDS NOW()DO SET a=a;巧妙的制定时间计划(Schedules)“every Tuesday at 3pm starting next Tuesday“ /*下周起每个周二下午三点执行*/“on the last day of each month“ /*每月最后一天*/“whenever user JOE is connected“ /*当用户Joe 登陆的时候*/*/ON COMPLETION NOT PRESERVE /* 这里COMPLETION的意思是“当这个事件不会再发生的时候“,即当单次计划任务执行完毕后或当重复性的计划任务执行到了ENDS阶段。而声明PRESERVE的作用是使事件在执行完毕后不会被Drop掉。提示: 基本不需要试用这个语句。*/ENABLE | DISABLE /* 设定事件的状态*/COMMENT comment/* 注释会出现在元数据中,它存储在information_schema表的COMMENT列,最大长度为64个字节。*/15DO sql_statement /*每当事件被执行的时候,系统就会执行这个部分的SQL语句 */(2)删除事件DROP EVENT /*删除事件*/DROP EVENTIF EXISTSevent_name;(3)事件的权限设定The EVENT privilege /*Event 的权限设定*/GRANT EVENT ON *.* TO user;orGRANT EVENT ON database_name.* TO user;REVOKE EVENT ON *.* FROM user;orREVOKE EVENT ON database_name.* FROM user;16第三部分:链接数据库链接数据库,一般要加载不同数据库的驱动程序什么是数据库的驱动程序:在 Web 应用程序和数据库之间充当解释器的软件。数据库中的数据是以专用格式存储的。数据库驱动程序使 Web 应用程序可以读取和操作本来无法解密的数据。最基本的交互模式如下:应用程序 数据库驱动程序 数据库服务。以下是常用的连接访问数据库的方法:1.通过嵌入式 SQL 访问数据库;2.通过 PL/SQL 编写存储过程访问数据库;3.通过 ODBC 访问数据库;4.通过 JDBC 访问数据库;5.通过 jdbc-odbc 桥连接数据库;6.通过 Tomcat 连接池连接数据库;7.通过 webLogic 连接池连接数据库;8.应用 Hibernate 连接数据库;以上 6、7、8 其实都是用的 jdbc,只是这些中间件软件对其进行了封装。第一节:通过 ODBC 访问数据库ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的 API(应用程序编程接口)方法来访问 DBMS(Database Management System) 。这些 API 利用 SQL来完成其大部分任务。ODBC 本身也提供了对 SQL 语言的支持,用户可以直接将 SQL 语句送给 ODBC。 ODBC 的设计者们努力使它具有最大的独立性和开放性:与具体的编程语言无关,与具体的数据库系统无关,与具体的操作系统无关。17在微软的WINDOWS操作系统中,提供ODBC数据库管理器,通过配置不同的DNS来访问数据库。(用户DSN:用户数据源存储了如何与指定数据提供者连接得信息,只对当前用户可见,而且只能用于当前机器上;系统DSN:存储了如何与指定数据提供者连接得信息,对当前机器上得所有用户可见,包括NT服务) 。(1) 练习通过配置系统DSN来链接SQLServer 2000数据库(如配置数据源mydb,连接SQLServer 2000的mydb数据库,注意操作系统自带SQLServer 2000的ODBC 驱动程序。(2) 加载MYSQL5.1驱动程序(自安装的驱动程序mysql-connector-odbc-51.1.5-win32.msi,配置相应数据源)18第二节:通过 JDBC 访问数据库Java Database Connectivity,简称JDBC ,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口。在java程序中(包括JSP,JavaBean等,已建立JVM环境) ,通过JDBC访问数据库有如下步骤:前期准备:安装 java JDK 以及正确设置 CLASSPATH 系统变量到 官方网站,根据不同的操作系统,下载相应的 J2SE JDK 版本 (提供jdk-1_5_0_11版本和j2eesdk-1_4_03版本安装程序) 。假定我们把JDK 安装到C:Program FilesJavajdk ,安装NetBeans5.5 。2.1 设置path在我的电脑上右击,选择属性 。再选择高级-环境变量,在 系统变量中添加一个新的变量JAVA_HOME=C:Program FilesJavajdk,然后再编辑path变量,在原来的path前面添加 %JAVA_HOME%BIN; (方框中的文字)。这样就完成了JAVA 的基本设置。为了帮助理解,hello.java 的小程序来显示。public class hello 19public static void main(String args) System.out.println(“Hello“); System.out.println(“The Classpath are:“);System.out.println(System.getProperty(“java.class.path“); 用下面的两条命令分别编译和运行。javac hello.javajava hello2.2 设置classpath首先添加一个CLASSPATH的系统变量。rt.jar 和 tools.jar 是基本库,如果我们要编译servlet 那么只要servlet-api.jar 和 jsp-api.jar 就可以实现基本的需要了。.;%JAVA_HOME%bin;%JAVA_HOME%lib;%JAVA_HOME%jrelib;%JAVA_HOME%jrelibmysql-connector-java-5.1.6-bin.jar;%JAVA_HOME%librt.jar;%JAVA_HOME%libtools.jar;%JAVA_HOME%libjconsole.jar;D:javalibmssqlserver.jar;D:javalibmsbase.jar;D:javalibmsutil.jar;D:javalibjtds.jar;D:javalibmysql-connector-java-5.1.6-bin.jar;%CATALINA_BASE%commonlibservlet.jar (可在DOS 状态下通过SET CLASSPATH查看classpath)在实际应用过程中,当需要添加的jar 文件过多时,管理java 类库变得很麻烦。所以我认为在基础学习时用命令行编译调试,有利于JAVA的学习,但是到开发时则一定要用到 IDE 工具(现在比较流行的是 eclipse 和 netbeans ,还有些人喜欢 jcreator) 。(1) 将数据库的 JDBC 驱动加载到 classpath 中,在基于 J2EE 的 WEB 应用实际开发过程中,通常要把目标数据库产品的 JDBC 驱动复制到 WEB-INF/lib 下,装载并注册数据库的 JDBC 驱动程序 (后续课程再介绍 ):加载 JDBC 驱动,并将其注册到 DriverManager 中,下面是一些主流数据库的 JDBC 驱动加裁注册的代码: 以下是几种 jdbc 驱动装载方法:1) 装载 JDBC-ODBC Driver :Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);/jdk 中自带,默认已经注册,不用再注册举例:20import java.sql.*;public class myconnpublic static void main(String args)String driver = “sun.jdbc.odbc.JdbcOdbcDriver“; /指定 jdbc-odbc 驱动程序String connStr = “jdbc:odbc:mydb“; /指定 URL 数据源String userName = “zhaoc“; /指定登录用户String userPwd = “111111“; /指定登录口令Connection con = null; /定义 Connection 对象Statement stm = null; /定义 Statement 对象tryClass.forName(driver).newInstance();System.out.println(“成功加载的驱动程序“);con = DriverManager.getConnection(connStr, userName, userPwd);/通过 ODBC-JDBC 链接 SQL SERVER 2000 的 mydb 数据库if (!con.isClosed()System.out.println(“数据库注册成功!“);stm = con.createStatement(); /创建 Statement 对象String sql1 = “insert into student(id,name,sex,class,birthday) values(08061210,李四, 男,软件工程 ,1998-01-03)“; /数据库插入一条记录stm.executeUpdate(sql1);ResultSet rs=stm.executeQuery(“select * from student“); while(rs.next() String title=“ID 号:“+rs.getString(“id“)+“姓名“+rs.getString(“name“)+“性别“+rs.getString(“sex“)+“专业“+rs.getString(“class“)+“出生年月“+rs.getString(“birthday“); System.out.println(title); stm.close();con.close();catch(Exception e)21System.out.println(“数据操作失败:“+driver);e.printStackTrace();2) 装载 JDBC Driver :Class.forName(“net.sourceforge.jtds.jdbc.Driver“);/使用 JTDS 第三方连接 SQLSERVER2000 的驱动程序,驱动程序包 MSSQL-Driver.jar.举例:import java.sql.*;public class myconnpublic static void main(String args)String driver = “net.sourceforge.jtds.jdbc.Driver “; /指定 jtds 驱动程序String connStr = “jdbc:jtds:sqlserver:/localhost:1433/mydb “; /指定URL 数据源String userName = “zhaoc“; /指定登录用户String userPwd = “111111“; /指定登录口令Connection con = null; /定义 Connection 对象Statement stm = null; /定义 Statement 对象tryClass.forName(driver).newInstance();System.out.println(“成功加载的驱动程序“);con = DriverManager.getConnection(connStr, userName, userPwd);/通过 ODBC-JDBC 链接 SQL SERVER 2000 的 mydb 数据库if (!con.isClosed()System.out.println(“数据库注册成功!“);.Class.forName(“com.mysql.jdbc.Driver“);/使用 MYSQL 的驱动程序,驱动程序包mysql-connector-java-5.1.6-bin.jar.举例:import java.sql.*;public class myconn22public static void main(String args)String driver = “com.mysql.jdbc.Driver“; /指定 jtds 驱动程序String connStr = “jdbc:mysql:/localhost:3306/aa “; /指定数据库 URLString userName = “zhaoc“; /指定登录用户String userPwd = “111111“; /指定登录口令Connection con = null; /定义 Connection 对象Statement stm = null; /定义 Statement 对象tryClass.forName(driver).newInstance();System.out.println(“成功加载的驱动程序“);con = DriverManager.getConnection(connStr, userName, userPwd);/通过 ODBC-JDBC 链接 SQL SERVER 2000 的 mydb 数据库if (!con.isClosed()System.out.println(“数据库注册成功!“);.第三节:使用集成工具(如 NetBeans IDE5.5)等访问数据库如在 NetBeans IDE 5.5 运行环境,可加载驱动程序,查看数据库,运行 SLQ 语句。下面详细介绍一个例子。23(一)数据库驱动程序加载、注册、连接:开始在 IDE 中创建桌面 CRUD(创建、读取、更新、删除)应用程序之前,应已将 IDE 连接到应用程序要使用的数据库。提前设置此连接,以便以后可以利用 IDE 中的自动将数据库绑定到应用程序这一功能。数据库连接成功后,连接节点图标应该可以完全显示 ( ),这表示连接已成功。24第四部分:网络(WEB)数据库的架构25第五部分:ASP 的网络数据库的应用现在开始学习利用 ASP 进行网络数据库编程,在这里我们使用可视化的编程工具Dreamweaver MX 2004 来实现开发 ASP 程序。1、打开电脑,在 D 盘下建立一文件夹 myweb(这个文件夹就是你的站点存放点了) ,并且在里面建几个子文件夹(就好似你网站的子目录) 2、回到 myweb 的根目录,右键选择“共享和安全” (其实是快速地建立虚拟目录) 3、出现属性对话框后,选择“Web 共享”标签,点选“共享文件夹” ,出现共享别名对话框,选择默然设置,确定即可。 4、补充说明。其实设置 Web 共享就是设置 IIS 的虚拟目录。你可以查看到 IIS 中默认网站中已经有了 myweb(附注:有关 IIS 的操作。如: winXP 里面打开控制面板管理工具Intern

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论