第五章数据库基础
5.1  数据库系概述
5.1.1  常用术语
1. 数据库(DataBaseDB
    长期保存在计算机外存上的、有结构的、可共享的数据集合。
2. 数据库管理系统(DataBase Management SystemDBMS)
    对数据库进行管理的软件系统。数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过DBMS进行的。
    DBMS是位于用户(或应用程序)和操作系统之间的软件。借助于操作系统实现对数据的存储和管理,使数据能被各种不同的用户所共享,DBMS提供给用户可使用的数据库语言。
3. 应用程序(DataBase SystemDBS
  利用各种开发工具开发的、满足特定应用环境的数据库应用程序。
4. 数据库系统相关人员
  数据库管理员  应用程序开发人员  最终用户
5. 数据库系统(DataBase SystemDBS
    由硬件系统、数据库管理系统、数据库、数据库应用程序、数据库系统相关人员等构成的人-机系统。
数据库产品(一整套数据库应用解决方案 )
      桌面型数据库        网络数据库
          MS Access            SQL Server  Oracle    MySql
5.1.2  数据库技术的产生和发展
数据管理技术经历了三个发展阶段
人工管理阶段  文件管理阶段  数据库系统阶段
1. 人工管理阶段
时间:20世纪50年代中期以前
硬件:只有卡片、纸带、磁带等存储设备
软件:没有操作系统,没有进行数据管理的软件
应用:以科学计算为目的
特点: 程序和数据放在一起数据不能共享
.文件系统阶段
  时间:20世纪60年代中期
硬件:磁带、磁盘等大容量存储设备
软件:有了操作系统
应用:不仅用于科学计算,还用于数据管理.
特点:程序与数据分离数据有一定的独立性实现了以文件为单位的数据共享数据有一定的独立性
3.数据库系统阶段
时间:20世纪60年代后期
硬件:出现了大容量且价格低廉的磁盘
软件:有了数据库管理系统DBMS
应用:各个方面.
特点:数据结构化数据共享性高,冗余小数据独立性高数据由DBMS统一管理控制为用户提供了友好的数据库系统的特点
                                   
  (1) 采用一定的数据模型,最大限度地减少数据的冗余
  (2) 最低的冗余度
  (3) 有较高的数据独立性用户面对的是简单的逻辑结构操作而不涉及数据具体的物理存储结构
  (4) 安全性设置用户的使用权限在数据库被破坏时,系统可把数据库恢复到可用状态。
  (5) 完整性一些完整性检验以确保数据符合某些规则,保证数据库中  数据始终是正确的。
5.13数据模式
    1. 数据模型的定义     
  数据库中数据的存储方式 ,数据模型(Data Model)是数据特征的抽象,通俗地讲就是数据库的组织形式。
2. 数据模型内容
  数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。
3. 数据模型的分类
  数据模型按不同的应用层次分成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。
4. 三种重要的数据模型
网状模型用网状结构来表示实体及实体间的联系
    例如:DBTG系统
distinct查询    注:1969年美国CODASYL组织提出了一份“DBTG报告,以后根据DBTG报告实现的系统一般称为DBTG系统
层次模型用树型结构来表示实体及实体间的联系
    例如:1968年,IBM公司的IMSInformation Management System
关系模型  :  用一组二维表表示实体及实体间的关系
    例如:Microsoft Access
注:理论基础是1970IBM公司研究人员E.F.Codd发表的大量论文。
目前应用最广泛的是关系数据模型   
5. 关系模型
1.术语 
关系:一个关系一张二维表关系模式:
Students(学号,姓名,性别,党员,专业,出生年月,助学金,照片)
  Scores(学号,课程,成绩)
记录:表中的一行
属性(字段):表中的一列
关键字:某个属性可以惟一地确定记录
主键:在实际的应用中只能选择一个,被选用的关
值域:属性的取值范围
2..关系必须规范化:表中不能再包含表       
3.关系的种类
基本表  如表StudentsScores
查询表  查询表是查询结果表查询中生成的临时表。
视图    视图是由基本表或其他视图导出的表
常见数据库系统开发工具:
Visual Basic  PowerBuider  Visual C++  Delphi
常见的数据库管理系统
Microsoft Access  SQL Server  Oracle
5.2 数据库的建立和维护
Access的特点  Office的组件之一  具有对数据进行存储、管理、处理等常规功能  直观的可视化操作操作工具和向导  丰富的函数功能
实例  创建表Students
5.2.1 Access 数据库的组成 
:表:    最基本的对象,表及其表之间心的关系构成数据库的核
  查询从表(或查询)中选择一部分数  据,形成一个全局性的集合
  窗体用户与数据库交互的界面,窗体的数据源是表或查询
  报表按指定的样式格式化的数据形式
:    若干个操作的组合
模块用户用VB语言编写应用程序
Web: Internet上发布数据
这些不同类型的对象集合构成了一个数据库文件,以.mdb存储在盘上.
5.2.2 Access 数据库的建立 
主要方法:数据库向导(模板)或设计视图,一般用后者 1. 确定表的结构建立一个空数据库,输入文件名 2.使用设计器或向导创建表,进入设计视图,输入各个字段的信息
3.建立表的索引定义主键4.输入表的名称保存表
5.2.3 数据库的管理与维护
1. 数据输入 
选定基本表,进入数据表视图,输入编辑数据
2.表结构的修改
选定基本表,进入设计视图,修改表结构
注意:
 打开的表或正在使用的表是不能修改的.
修改字段名称不会影响到字段中所存放的数据,但是会影响到一
些相关的部分。如果查询、报表、窗体等对象使用了这个更换名
称的字段,那么在这些对象中也要作相应的修改。
关系表中互相关联的字段是无法修改的,如果需要修改,必须先将关联去掉
3.数据的导出和导入
导出操作  可以将表中数据以另一种文件格式保存在磁盘上导入操作  是导出操作的逆操作
4.表的复制、删除、恢复和更名
类似于Windows中对文件或文件夹的操作
注意 在进行这些操作之前,必须关闭有关的表操作必须在数据库窗口中完成
5.2.4 Access表达式
1. 常用运算符
说明: (1) 字符型数据用  双引号  单引用括起来。如"abcde123"
          日期型数据用  #  括起来。例如#10/12/2000#
    (2) MOD是取余数运算符
        例如,5 MOD 3的结果为2
(3) Between运算符
        格式:<表达式1> Between <表达式2> And <表达式3>
        3  Between  1  And  10True
        3  Between  1  And  2  False
(4) 可使用通配符:*和?
    查姓的学生:姓名  Like  "*"
    查不是姓的学生:姓名  Not  Like  "*"
(5) &  用于连接两个字符串。
    "ABC"&"1234"的结果是"ABC1234"
2. 常用内部函数
   
 
 
Date( )
返回系统日期
Date( ) 
#5/4/2003#
Year(D)
返回年份
Year(#12/1/1982#)
1982
3.表达式和表达式生成
5.2.5  SQL中的数据更新命令
结构化查询语言SQL是操作关系数据库的工业标准语言
SQL中,常用的语句有两类:
数据查询命令 SELECT
数据更新命令 INSERTUPDATEDELETE
INSERT命令用于数据插入 其语法格式为:
插入一条记录
INSERT INTO 表名 [(字段1,…,字段n)] VALUES (1,…,n)
插入查询的结果
INSERT INTO 表名 (字段1,…,字段n) VALUES 子查询
INSERT命令实例
5.3  向表Students中插入一条记录
INSERT INTO Students(学号, 姓名, 性别, 党员, 专业, 出生年月, 助学金)            VALUES("990301","杨国强","",TRUE,"化学", #12/28/80#,220)
注意:
字符型常量用 单引号 双引号 括起来
逻辑型字段的值是 True/FalseYes/No On/Off
日期的表示形式为 MM/DD/YY MM/DD/YYYY
5.4 向表Scores插入记录(990301,大学计算机基础,98
INSERT  INTO  Scores  VALUES ("990301", "大学计算机基础", 98)
直接执行SQL语句的方法
切换到查询页。② 创建空查询一个空查询。③ 切换到SQL视图。④ 输入SQL命令,如右图所示。⑤ 执行查询⑥ 查看结果。
DELETE语句
DELETE语句用于数据删除  其语法格式为:
DELETE FROM [WHERE 条件]
注意: WHERE子句缺省,则删除表中所有的记录(表还在)
5.5 删除表Students中所有学号为990301的记录
DELETE FROM Students WHERE 学号=“990301”
5.6 删除表Scores中成绩低于70分的记录
DELETE FROM Scores WHERE 成绩<70

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。