《第11章Web的数据库技术.ppt》由会员分享,可在线阅读,更多相关《第11章Web的数据库技术.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第1111章章 WebWeb的数据库技术的数据库技术 第第11章章 Web的数据库技术的数据库技术 11.1 在在FrontPage中应用中应用Access数据库数据库 11.2 SQL基础基础 实训十一实训十一 第第1111章章 WebWeb的数据库技术的数据库技术 11.1 在在FrontPage中应用中应用Access数据库数据库 在建立数据库之前,应首先规划和设计数据库,选择数据库模型和DBMS,进行信息建模等。要明确建立数据库的目的,即一个网页需要提供哪些信息,然后要确定该数据库中的表(即需建立几个表,什么样的信息需放到什么样的表中去),同时建立多表之间的关联。如我们需要建立一个成
2、绩查询系统,它具有如下基本功能。第第1111章章 WebWeb的数据库技术的数据库技术 前台客户端:学生的注册登陆,密码修改以及学生注销;学生个人资料的查看;学生课程的查看以及成绩的查看。后台服务器端:学生管理(密码忘记,学生退学,非法用户等);课程的设置;学生考试成绩的录入。下面我们就来建立这个成绩查询系统。第第1111章章 WebWeb的数据库技术的数据库技术 11.1.1 确定数据表确定数据表 按上述功能需求,本系统要有学生表(students)、课程表(course)、成绩表(score)及操作员表(sysop)。1.学生表学生表(students)该表用于学生入学时登记基本信息,其结
3、构如下:第第1111章章 WebWeb的数据库技术的数据库技术 students 字段说明(student_idcharacter(15),学生学号(主关键字)password character(15)密码字 s_name character(20)学生姓名 s_sex character(2)性别 department character(50)系别 class character(20)班级)第第1111章章 WebWeb的数据库技术的数据库技术 该表的主关键字是student_id。如果还需要其他信息,如籍贯、年龄等,也可以加入。因为一个学生有多门成绩,所以该表与成绩表(score)为
4、一对多的关系。第第1111章章 WebWeb的数据库技术的数据库技术 2.课程表课程表(course)该表用于录入课程信息,学生在第几学期开设什么课程。课程表的结构如下:course 字段说明(course_id character(2),课程编号(主关键字)course character(30)课程 credit integer 学分 priode character(2)开课时间(第几学期)abstract character(50)内容简介 )第第1111章章 WebWeb的数据库技术的数据库技术 3.成绩表成绩表(score)该表用于存放学生成绩,其结构如下:score 字段说明(s
5、tudent_idcharacter(15),学生学号(来自学生表)course_id character(2)课程编号(来自课程表)score integer 成绩)第第1111章章 WebWeb的数据库技术的数据库技术 学生学号(student_id)和课程编号(course_id)合成为该表的主关键字。其中,学生学号(student_id)是来源于学生表的外部关键字,课程编号(course_id)是来源于课程表的外部关键字。第第1111章章 WebWeb的数据库技术的数据库技术 4.确定表与表之间的关系确定表与表之间的关系 这些表之间的关系可以进一步用图11-1表示出来。图中的箭头线表示
6、“一对多”关系。第第1111章章 WebWeb的数据库技术的数据库技术 图图11-1 示例数据库表与表之间的关系示例数据库表与表之间的关系第第1111章章 WebWeb的数据库技术的数据库技术 11.1.2 建立建立Access数据库与表数据库与表 Microsoft Access是Microsoft Office套件中的一员,本书采用Access 2002创建数据库。1.创建数据库及表创建数据库及表 打开Access,新建一空的数据库student。在该数据库中,使用设计器建立上面所定义的各个表,并定义各个表的主键(如图11-2所示)。第第1111章章 WebWeb的数据库技术的数据库技术
7、图11-2 student的结构 第第1111章章 WebWeb的数据库技术的数据库技术 2.创建表与表之间的关系创建表与表之间的关系 创建数据库中表与表之间的关系的方法是,在Access中选择“工具”菜单中的“关系”项,打开“关系”窗口(如图11-3所示)。在“编辑关系”窗口中,可以看到两个相关表及其相关字段(如图11-4所示)。第第1111章章 WebWeb的数据库技术的数据库技术 图图11-3 建立数据库中各个表之间的关系建立数据库中各个表之间的关系第第1111章章 WebWeb的数据库技术的数据库技术 图图11-4 “编辑关系编辑关系”窗口窗口第第1111章章 WebWeb的数据库技术
8、的数据库技术 11.1.3 配置配置ODBC 数据源数据源 对于上面所建立的Access数据库,我们必须通过ODBC数据源来访问。ODBC(Open Database Connectivity,开放数据库连接)是Microsoft所定义的数据库的标准接口。第第1111章章 WebWeb的数据库技术的数据库技术 要用ODBC来连接数据库,首先要获取该数据库的ODBC驱动程序。首先要安装ODBC驱动程序,然后打开Windows的控制面板,再双击“ODBC DataSourse(32bit)”图标,打开“ODBC Data Source Adminitrator”(如图11-5所示)。选择“系统DS
9、N”选项卡,点击“添加”按钮,打开“添加新数据源”对话框(如图11-6所示)。从驱动程序列表中选择“Microsoft Access Driver(*.mdb)”,并点击“完成”按钮,这时将打开“ODBC Microsoft Access Setup”对话框(如图11-7所示)。第第1111章章 WebWeb的数据库技术的数据库技术 图图11-5 “ODBC数据源管理器数据源管理器”窗口窗口第第1111章章 WebWeb的数据库技术的数据库技术 图图11-6 驱动程序的安装驱动程序的安装第第1111章章 WebWeb的数据库技术的数据库技术 图图11-7 ODBC数据源的配置窗口数据源的配置窗
10、口第第1111章章 WebWeb的数据库技术的数据库技术 选取相应的数据库,如示例中为“C:My Documentsstudent.mdb”。选定该文件,在“ODBC Microsoft Access安装”对话框中,在“数据源名”文本框中取一名字。该名字为提供给应用程序访问数据库的别名,这里取名为student。单击“确定”按钮,回到“ODBC数据库管理器”中,再单击“确定”按钮,ODBC驱动程序就设置完成了。第第1111章章 WebWeb的数据库技术的数据库技术 11.2 SQL 基基 础础 11.2.1 SQL简介简介 SQL(Structured Query Language)语言是19
11、74年由Boyce和Chamberlin提出的。19751979年,IBM公司San Jose Research Laboratory研制了著名的关系数据库管理系统原型System R并实现了这种语言。由于它的功能丰富,语言简洁,倍受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经过各个公司的不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。第第1111章章 WebWeb的数据库技术的数据库技术 Microsoft提供的OLE DB和ADO,使得用户在Microsoft编程环境中可以用统一的SQL来操作任何可操作的数据库。Microsoft SQL依托Microso
12、ft Jet数据库引擎支撑。Microsoft SQL语言主要包括数据定义语言和数据处理语言两大类。数据定义语言主要是用来在数据库中创建各种对象的一组CREATE语句。如Create table等。该功能在DBMS软件中都有相应的可视化操作,而在ASP中很少用到。第第1111章章 WebWeb的数据库技术的数据库技术 在ASP中大量用到的是SQL的数据处理语言。数据处理语言主要有选择查询语句(Select)、插入查询语句(Insert Into)、更新查询语句(Update)和删除查询语句(Delete)等。第第1111章章 WebWeb的数据库技术的数据库技术 11.2.2 SQL常用的数据
13、处理语句常用的数据处理语句 1.数据库查询数据库查询 数据库查询是数据库的核心操作。SQL语言提供了Select语句进行数据库的查询。该语句具有灵活的使用方式和丰富的功能,其一般格式为:第第1111章章 WebWeb的数据库技术的数据库技术 SelectALL|DISTINCT,From WhereGroup By Having Order By Asc|Desc;Select语句既可完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。第第1111章章 WebWeb的数据库技术的数据库技术 1)目标列表达式的可选格式*.*COUNT(DISTINCT|ALL*).,.第第1111章章 We
14、bWeb的数据库技术的数据库技术 2)集函数的一般格式 count(DISTINCT|ALL)sum(DISTINCT|ALL)avg (DISTINCT|ALL)max(DISTINCT|ALL)min(DISTINCT|ALL)第第1111章章 WebWeb的数据库技术的数据库技术 3)Where子句的条件表达式的可选格式 ANY|ALL(Select语句)Between AND Between AND第第1111章章 WebWeb的数据库技术的数据库技术 Between(Select语句)AND(Select语句)NOTIN(,)NOTIN (Select语句)NOTLIKE ISNOT
15、NULL第第1111章章 WebWeb的数据库技术的数据库技术 NOTEXISTS(Select语句)ANDAND OROR第第1111章章 WebWeb的数据库技术的数据库技术 下面的语句是一个最简单的Select语句,它从学生表中选取所用学生的所有字段。Select*from student SQL语句在Access中的实现过程如图11-8所示。在数据库主窗口上点击“查询”按钮,进入图11-9所示画面。双击“在创建视图中创建查询”进入图11-10,选择要使用的表。比如,我们要对student进行查询,则选中“student”。点击“添加”按包钮,添加表,如图11-11所示。第第1111章章
16、 WebWeb的数据库技术的数据库技术 然后点击“显示表”窗口的“关闭”按钮。点击“视图”菜单项下的“SQL视图”菜单项,进入图11-12所示的画面,输入SQL语句。第第1111章章 WebWeb的数据库技术的数据库技术 图图11-8 数据库主窗口界面数据库主窗口界面第第1111章章 WebWeb的数据库技术的数据库技术 图图11-9 查询主窗口查询主窗口第第1111章章 WebWeb的数据库技术的数据库技术 图图11-10 选择需要进行查询的表选择需要进行查询的表第第1111章章 WebWeb的数据库技术的数据库技术 图图11-11 添加表添加表第第1111章章 WebWeb的数据库技术的数
17、据库技术 图11-12 SQL语句的输入第第1111章章 WebWeb的数据库技术的数据库技术 最后,通过“查询”菜单项下的“运行”菜单项,查看运行结果。上例中的运行结果如图11-13所示。第第1111章章 WebWeb的数据库技术的数据库技术 图11-13 查询学生的学号、密码和姓名的运行结果第第1111章章 WebWeb的数据库技术的数据库技术 如果对表中内容进行了修改,可以关闭当前查询,返回到主窗口界面,通过双击进入用SQL语句修改的表,如双击“student”,去查看表中内容是否被修改。查询全体学生的学号、姓名、系别:Select student_id,s_name,departmen
18、t from student Select子句的不仅仅可以是表中的属性列,也可以是表达式:第第1111章章 WebWeb的数据库技术的数据库技术 Select s_name,2003-s_birthdate from student;该例中的第二项不是列名,而是一个计算表达式,用当前的年份减去学生的年龄。这样,所得的即是学生的出生年份。查询满足指定条件的元组可以通过Where字句实现。查询计算机系全体学生的名单、学号:Select s_name,student_id from student Where department=cs;第第1111章章 WebWeb的数据库技术的数据库技术 查询考
19、试成绩有不及格的学生的学号:Select Distinct student_id from score Where score3第第1111章章 WebWeb的数据库技术的数据库技术 2.插入数据插入数据插入单个元组的Insert语句的格式为:Insert Into(,)Values(,);将一个新学生记录(学号:9901121;姓名:李星;性别:男;系别:cs)插入到student中:Insert Into student(student_id,s_name,department)第第1111章章 WebWeb的数据库技术的数据库技术 Values(9901121,李星,cs)新记录在其他属
20、性列上取空值。插入子查询结果:Insert Into(,)子查询(Select语句);Insert Into score(student_id)Select student_id from student where department=cs;第第1111章章 WebWeb的数据库技术的数据库技术 3.修改数据修改数据修改操作语句的一般格式为:Update Set=,=Where;修改某一个元组的值:Update student Set s_age=20Where student_id=9901121;该语句将学生9901121的年龄改为20岁。第第1111章章 WebWeb的数据库技术的数
21、据库技术 修改多个元组的值:Update student Set s_age=s_age+1;该语句将所有学生的年龄增加1岁。子查询也可以签套在Update语句中,用以构造修改的条件:Update score Set score=0Where course_id=(Select department from student Where student.student_id=score.student_id)第第1111章章 WebWeb的数据库技术的数据库技术 4.删除数据删除数据删除语句的一般格式为:Delete from Where;删除某一个元组的值:Delete from stude
22、ntWhere student_id=9901121;该语句删除学号为9901121的学生记录。第第1111章章 WebWeb的数据库技术的数据库技术 删除多个元组的值:Delete from score删除所有学生的选课和成绩记录:delete from scorewhere course_id=(select department from student where student.student_id=score.student_id);通过对以上SQL语句的学习,应能够完成一些常用的SQL语句的应用。第第1111章章 WebWeb的数据库技术的数据库技术 实 训 十 一 虽然对于一般
23、的网页设计来说,数据库并不是必须要求的内容,但是如果要设计动态网页,比如完成某些办公自动化的网页设计,就必须用到数据库的知识。因此,熟悉数据库,对于大家来说是十分有必要的。尤其是在建Web网站时,必须掌握数据库的相关知识。下面我们以本班级的“网页设计”课程成绩为内容建立一数据库,熟悉一下建库以及建表的过程,并了解库、表之间的关系。第第1111章章 WebWeb的数据库技术的数据库技术 要求以某系学生成绩建立数据库score,并建立本班的“网页设计”课程成绩表,输入本班学生的学号、姓名、性别、成绩等项,同时完成相应的SQL语句。(1)打开Access,选择新建一空的Access数据库,如实训图1
24、1-1所示。第第1111章章 WebWeb的数据库技术的数据库技术 实训图11-1 打开Access 第第1111章章 WebWeb的数据库技术的数据库技术 (2)在弹出的对话框中选择相应的目录并命名,然后点击“创建”,如实训图11-2所示。(3)创建score数据库之后,就可以根据需要建立各个表,如实训图11-3所示。第第1111章章 WebWeb的数据库技术的数据库技术 实训图实训图11-2 保存数据库保存数据库第第1111章章 WebWeb的数据库技术的数据库技术 实训图11-3 使用设计器创建各表第第1111章章 WebWeb的数据库技术的数据库技术 如建立本班的“网页设计”课程的成绩
25、表,可双击“使用设计器创建表”,输入相应字段,如要求包含学生的学号、姓名、性别、成绩等,如实训图11-4所示。第第1111章章 WebWeb的数据库技术的数据库技术 实训图实训图11-4 网页设计成绩表的结构网页设计成绩表的结构第第1111章章 WebWeb的数据库技术的数据库技术 设置其主键为“student_id”,关闭当前对话框,并保存为“网页设计成绩表”,如实训图11-5所示。实训图实训图11-5 网页设计成绩表的保存网页设计成绩表的保存第第1111章章 WebWeb的数据库技术的数据库技术 (4)数据录入。在主窗口界面下双击刚刚建立的网页设计成绩表,即可录入数据,如实训图11-6所示。第第1111章章 WebWeb的数据库技术的数据库技术 实训图实训图11-6 录入数据录入数据第第1111章章 WebWeb的数据库技术的数据库技术 (5)参考本章内容,完成下列SQL语句。查询所有男生的学号、姓名及成绩。查询所有女生中成绩大于85分的学生姓名和成绩。添加一条记录:“9901100”、“杨娜”、“女”、“90”。删除学号为“9901003”的学生记录。(6)输入相应的SQL语句,并去表中查看、验证结果是否正确。