《第5章数据库基础知识》由会员分享,可在线阅读,更多相关《第5章数据库基础知识(49页珍藏版)》请在金锄头文库上搜索。
1、第5章 数据库基础知识,5.1 数据库的基本概念 5.2 建立Access数据库 5.3 SQL语言简介,本章要点,了解数据库的基本概念,掌握数据库、表、字段、记录等几个术语 会建立Access数据库,会添加表和查询,会利用SQL语言建立查询 掌握最基本的SQL语句,尤其是Select、Insert、Delete和Update语句,5.1 数据库的基本概念,数据管理技术的发展阶段 数据库的基本术语 数据库管理系统,5.1.1 数据管理技术的发展阶段,数据处理:对数据进行收集、组织、存储、加工、传播等。 数据管理是数据处理业务的基本环节(中心问题),而且是任何数据处理业务中必不可少的共有部分。,
2、人工管理阶段 (20世纪50年代以前) 特点:无存储设备、无操作系统 无数据管理软件,文件管理阶段 (20世纪50年代后期至60年代中期) 特点:有了磁盘、磁鼓等存储设备、 有了操作系统、有了文件管理系统,数据库系统阶段 (20世纪60年代后期开始) 特点:出现了大容量的磁盘、 出现了专门的管理数据软件(DBMS),分布式数据库系统阶段 (20世纪80年代以后) 特点:逻辑上统一、地域上分布的数据集合, 适合于单位分散的部门,1、人工管理阶段,时期 40年代中-50年代中 产生的背景 硬件水平无直接存取存储设备 软件水平没有操作系统,2、文件管理阶段,时期 50年代末-60年代中 产生的背景
3、硬件水平:有了磁盘等存储设备 软件水平:有了操作系统、有了文件管理系统,2、文件管理阶段,特点 数据的管理者:文件系统,数据可长期保存。 数据面向的对象:某一应用程序(一个文件对应一个应用程序) 数据的共享程度:共享性差、冗余度大(不同的应用程序必须建立各自的文件,不能共享) 数据的结构化:记录内有结构,整体无结构 文件之间缺乏联系,相互孤立,数据的结构化是指数据集合中的数据,它们相互之间存在一种或多种特定关系,文件管理阶段:高冗余,数据共享性差,3、数据库管理阶段,时期 60年代末以来 产生的背景 硬件背景:大容量磁盘 软件背景:有统一管理数据的专门软件数据库管理系统,5.1.2 数据库的基
4、本术语,所谓数据库就是按照一定数据模型组织、存储在一起的,能为多个用户共享的、与应用程序相对独立、相互关联的数据集合。 简单的说,数据库就是把各种各样的数据按照一定的规则组合在一起形成的“数据”的集合。我们可以用二维表来表示数据库表。,1、数据库基本概念,1) 数据库(Data Base,简称DB) 数据库是指按照一定数据模型组织、存储在一起的,能为多个用户共享的、与应用程序相对独立、相互关联的数据集合。,2) 数据库管理系统(Data Base Management System,简称 DBMS) 数据库管理系统是指帮助用户建立、使用和管理数据库的软件系统。 DBMS具有以下功能: 数据库开
5、发、数据库查询、数据库维护、应用与开发。,1、数据库基本概念,3) 数据库系统(Date Base System,简称DBS) 数据库系统是指以计算机系统为基础,以数据库方式管理大量共享数据的系统。 数据库系统(DBS)=计算机软硬件系统+数据库管理系统(DBMS)+数据库(DB)+用户,2、模型的概念,模型:对现实世界事物的特征的模拟和抽象。,概念模型:概念层次的数据模型,是按用户的观点对现实世界建模。 概念模型的术语: 1、实体: 具体或抽象的事物。如学生,老师,桌子,课程。,数据模型:从计算机系统的观点对现实世界建模,主要用于数据库管理系统(DBMS)的实现 。,数据库管理系统所支持的数
6、据模型主要有: 层次模型、网状模型、关系模型和面向对象模型4种。,关系模型,关系模型(20世纪80年代至今) 关系模型是指用规则的二维表格的形式来表示实体及其之间联系的数据模型。关系模型可以很方便地表示m:n关系。,3、数据库的基本术语,字段、记录、值、表,3.1.2 数据库管理系统,现在流行的数据库产品大都是关系数据库产品。 小型数据库管理系统: Foxpro、Access; 大型数据库管理系统: Oracle、Informix、 Sybase、SQL Server 在ASP.NET中一般使用SQL Server或Access数据库。 本课程主要使用Access。,5.2 建立Access数
7、据库,规划自己的数据库 新建数据库 新建和维护表 新建和维护查询,5.2.1规划数据库,尽量使数据库设计合理。既包含必要的信息,又能节省数据的存储空间。 主要是规划每一个表的字段和字段类型,不要有冗余。 假设要在自己的主页上增加用户注册模块,需要建立一个用户数据库,需要几张表? 需要两张表,一张记载用户的基本信息,另一张记载用户的登录信息。以用户名建立关系。,5.2.2新建一个数据库,依次选择菜单命令【开始】、【程序】、【Microsoft access】就可以启动Access2000,5.2.3 新建和维护表,在上图双击【使用设计器创建表】选项,就可以打开新建表的设计视图。,关于字段的注意事
8、项,字段命名 可以字母、数字或下划线 不要使用关键字,比如password、user、from、select等在ASP.NET语法中会用到的词。,在表中输入数据,在主窗口中双击表名,就可以打开输入窗口,5.2.4 新建和维护查询,利用查询可以更方便的更改分析和处理数据。查询就好比是一张虚拟的表一样,用户可以像在表里操作一样,输入数据或浏览数据。 查询有很几种:简单查询、组合查询、计算查询和条件查询。现在就来建立一个简单查询,只显示姓名和Email两个字段的内容。,1、新建简单查询,在Access主窗口左侧选择”查询”按钮,显示查询内容,在主窗口中双击查询名称,2、组合查询,首先必须建立两张表,
9、两张表之间要建立关系,再进行查询,3、利用SQL语言建立查询,当进行左图时,直接单击【关闭】按钮,然后在主窗口中依次选择【视图】、【SQL视图】菜单命令,就会出现”SQL视图”对话框。,作业1:新建2个表,1.userinfo(user_name,password,real_name,telephone,email,submit_date) 插入10条不同记录,存储在C盘inetpubwwwrootchapter5 里 2. userloginfo (user_name,IP,log_date)插入10条不同记录,存储在C盘inetpubwwwrootchapter5 里。 其中有3个人必须和
10、上张表user_name相同 3. 查询,建立2个查询,分别查询real_name,telephone,email,和user_name,IP 4. 完成书上P154 第(3)题 5. 建立第3个查询。把表userinfo 和 userloginfo 建立关系,查询出user_name 相同的用户在两张表里的全部信息,5.3 SQL语言简介,1Select语句 查询数据 2Insert语句 添加记录 3Delete语句 删除记录 4Update语句 更新记录,5.3.1 Select语句,可以使用Select语句来取得满足特定条件的记录集。也就是说可以从数据库中查询有关记录。 语法: Sele
11、ct Top(数值) 字段列表 From 表 Where 条件 Order By 字段 Group By 字段,Select语句示例(1),Select * From users Select real_name,email From users Select Top 3 * From users Select real_name,(submit_date+365) As new_date From users SELECT * FROM users WHERE submit_date#11/1/2003# And real_name=“建波“; 选取2003年1月5日到2003年11月1日之
12、间注册的用户,Select语句示例(2),Select * From users Where real_name like “%勇%” Select * From users Order By real_name DESC Select Count(*) As total From users Where submit_date#11/1/2003# Select users.real_name,day_log.log_date,day_log.IP From users,day_log Where users.user_name=day_log.user_name,作业2,结合作业1中完成的
13、数据库和userinfo和userloginfo两张表 ,完成PPT 上的所有查询,5.3.2 Insert语句,向用户表Users中增加新成员时,就需要将新用户的数据插入到表users中。此时,可以使用SQL语言中的Insert语句来实现这个功能。 语法 Insert Into 表(字段1,字段2,) Values(字段1的值,字段2的值,),Insert语句示例(1),Insert Into users ( user_name, password,real_name,tel,email,submit_date) Values(“mengmeng”,”123456”,”萌萌”,”688715
14、0”,”mengmeng”, #11/2/2003#),Insert语句示例(2),Insert Into users ( user_name ) Values(“liya”) Insert Into users ( user_name, real_name ) Values(“feiyun”,”费云”) Insert Into users ( user_name, submit_date ) Values(“luofang”,#12/5/2003#) Insert Into users ( user_name, age) Values(“zhangpeng”,23),作业3,结合作业1中完成
15、的数据库和userinfo和userloginfo两张表,完成PPT 上的所有5个插入,容易出错的Insert语句,(1)Insert Into users ( real_name ) Values(“涂涂“) (2)Insert Into users ( user_name,real_name ) Values(“tutu“,“) (3)Insert Into users ( user_name,real_name ) Values(“tutu“,小明) 思考?他们错哪里了?怎么改?,5.3.3 Update语句,可以使用Update语句来实现更新数据的功能,它可以更新表内部分或全部的记录。
16、“Where 条件”用来指定更新数据的范围。 语法: Update 数据表名 Set 字段1字段值1,字段2字段值2, Where 条件,Update语句示例,Update users Set tel=“8282999”,email=“jjshang” Where user_name=“jjshang” Update users Set submit_date=#1/1/2003# Where submit_date#1/1/2003# Update users Set age=age+10,作业4,结合作业1中完成的数据库和userinfo和userloginfo两张表 ,请大家完成这3个更新。,5.3.4 Delete语句,在SQL语言中,可以使用Delete语句来删除表中无用的纪录。 语法: Delete From表 Where 条件,Delete语句示例,Delete From users Where user_name=“tutu” Delete From users