数据库系统

一、基础

1.1 数据库使用的数据模型与数据库系统

  • 层次数据模型:采用“树”结构来组织、存储和管理数据;局限于上下节点的访问。
  • 网状数据模型:采用“网状图”结构组织、存储和管理数据。灵活地表示数据之间地关系;数据查询和修改不方便。
  • 关系数据模型:采用“二维表”结构组织、存储和管理数据,并以关联列实现表之间的联系。表之间通过具有相同属性列进行约束关系。数据结构简单、操作灵活、支持关系与集合运算操作、支持SQL;局限是只用于结构化数据的组织与存储管理,支持的数据类型较为简单,难以支持互联网广泛应用的非结构化数据和复杂数据管理。
  • 其他数据模型

数据库系统是一类基于数据库进行数据管理与信息服务的软件系统。主要由用户、数据库应用程序、数据库管理系统和数据库四部分组成。

  • 用户:开发人员、使用人员、维护人员等
  • 数据库应用程序:是一种再DBMS支持下对数据库中数据进行访问处理的应用程序。
    主要功能有:通过窗口输入框采集用户输入数据;通过接口连接访问数据库;执行用户数据查询;通过表单列表输出数据。
  • 数据库管理系统:是一种专门用来创建数据库、管理数据库、维护数据库,并提供外部对数据库进行访问的系统软件。
    主要功能:
    • 创建数据库、数据库表以及其他对象;
    • 读写、修改、删除数据库表中的数据;
    • 维护数据库结构;
    • 执行数据访问规则;
    • 提供数据库并发访问控制和安全控制;
    • 执行数据库备份与恢复。
  • 数据库:是一种依照特定数据模型组织、存储和管理数据的文件集合。
  • 关系数据库中数据内容:在关系数据库中,除了存储和管理应用的用户数据(用户表)外,还需要存储与管理数据库本身的元数据、索引数据、运行数据等系统数据(系统表)。
  • 关系数据库的对象组织:在这里插入图片描述

1.2 发展

层次数据库–> 网状数据库 --> 关系型数据库 —> 对象-关系数据库 --> 半结构化数据库等

1.3 数据库应用系统

数据库应用系统类型

  • 业务处理系统:对机构业务活动(订购、销售、支付、出货)信息处理
  • 管理信息系统:以机构职能管理为主导,信息化管理,如人力资源管理信息系统
  • 决策支持系统:管理科学、运筹学、控制论等基础,为管理者提高辅助决策服务和方案,如证券分析与辅助决策信息系统

数据库系统应用结构

  • 单机用户结构:整个数据库应用系统都装在一台计算机上,由一个用户进行访问操作,数据不能共享,数据冗余度大。
  • 集中式结构:数据库系统的应用程序、DBMS、数据都部署在同一服务器上运行,多个用户使用自己的计算机终端网络连接服务器,并可实现共享访问数据库。*特点:*结构简单、易于维护、但是当终端用户增加到一定数量后,服务器网络将成为数据存取访问的瓶颈,系统性能大大降低。
  • 客户/服务器结构:数据库应用系统的数据集中在数据库服务器管理、应用分布客户机处理。客户端应用程序通过网络并发访问数据库服务器中的数据库。*特点:*客户机程序与数据库服务器分工进行数据处理,提高了系统的负载分担能力,但会因大量客户端并发访问数据库服务器导致系统性能瓶颈。
  • 分布式结构:分布式结构的数据库系统既实现数据分布,又实现处理分布。分布式数据库系统的各服务器结点数据库在逻辑上是一个整体,但物理分布在计算机网络的不同服务器节点上运行,每个数据库服务器可通过网络既支持多个本地客户机访问,也支持远程客户机访问。网络中的每个数据库服务器都可以独立地存取和处理数据,并执行全局应用。*特点:*适合跨地区和大型机构,处理性能强,但数据库的分布处理和维护成本高,技术难度大。

数据库应用系统生命周期

  • 需求分析:系统数据需求信息
  • 系统设计:包括系统概念数据模型、系统逻辑数据模型和系统物理数据模型设计。
  • 系统实现:包括DBMS安装部署、数据库创建、数据对象创建等
  • 系统测试:将测试数据上载到数据库中,对数据库对象进行测试操作访问,实现数据库功能和性能测试。
  • 系统运行和维护:监控与优化、扩展与维护

1.4 数据库管理系统

按用途分类:

  • 通用DBMS:支持公共领域数据库应用,如SQL Server
  • 专用领域DBMS:支持专用领域数据库应用,如嵌入式领域的SQLite

按用户数分类:

  • 单用户DBMS:仅支持单用户访问,如miniSQL
  • 多用户DMBS:可支持多用户并行访问,如MySQL

按系统部署分类:

  • 集中式DBMS:数据库集中部署在单一物理机器中,如Access
  • 分布式DBMS:数据库可分布在不同位置物理机器,如Oracle Database

按使用场景分类:

  • 桌面级DBMS:适用于微小型的信息服务应用,如Access、SQLite
  • 企业级DBMS:适用于中大型的企业级应用,如DB2,ORACLE Database

在这里插入图片描述

二、数据库关系模型

2.1 关系及其相关概念

实体:包含有效数据特征的事物对象在概念模型世界的抽象名词。
关系:在关系模型中,使用“关系”来存储“实体”中的数据。关系是指具有关系特征、用于存放实体数据的二维表,关系也常被称为关系表。
关系的特征
* 表中每行存储实体的一个实例数据,行又被称为元组。
* 表中的每列包含实体的一项属性数据,列又被称为属性。
* 表中单元格只能存储单个值;
* 不允许有重复的行。
* 列的顺序可任意。
* 行的顺序可任意。

关系的键定义
在关系中,可以用来唯一标识元组的属性列,称为键(Key),其他属性列都为非键列。
复合键(Compound Key):是指关系中用来唯一标识元组的多列作为键。
候选键(Candidate Key):关系中可能有多个列均适合作为键,将其每个都称为候选键。
主键(Primary Key):关系表中最有代表性的一个候选键,每个关系表中只能定义一个主键。
主键的作用
* 唯一标识关系表的每行(元组);
* 与关联表的外键建立联系,实现关系表之间连接;
* 数据库文件使用主键值来组织关系表的数据存储;
* 数据库使用主键索引快速检索数据。
代理键:采用DBMS自动生成的数字序列作为关系表的主键。(当复合键过于复杂时)
代理键的用途
* 由DBMS自动生成的数字序列作为主键,可替代复合主键,以便获得更高性能的数据访问操作处理。
外键(Foreign Key):在关联的两个关系中,它们具有一个或多个相同属性,若关联列在第一个关系中作为主键,则在第二个关系中作为外键。

关系模式语句中主键表示方法:
关系名(主键属性,属性2,...,属性x)
relation_name(Colunm01,Colunm02,...,LastColunm)
relation_name表示关系名称,Colunm01等表示属性名。
在这里插入图片描述

2.2 关系模型原理

关系模型是一种基于二维表结构存储数据实体及实体间联系的数据模型。
关系模型的组成

  • 1、数据结构
  • 2、数据操作:集合运算操作包括 选择,投影、连接、交、并、差等。专门针对元组的关系操作包括数据行插入、修改、删除等操作。
  • 3、数据关系约束:在关系模型中,数据关系约束是指关系表中实体数据完整性、关联表之间数据一致性等要求,一般由业务需求来确定。在关系模型中,可定义关系表的数据约束如下:
    • 属性列取值范围
    • 属性列取值类型
    • 属性列取值是否唯一
    • 属性列是否允许空值
    • 关联表的参照完整性约束

关系模型数据操作
关系模型的数据操作采用基于关系代数的数据操作,包括传统的集合运算操作和专门的关系运算操作。
并算法、差运算、交运算、笛卡尔积×(若R、S分别为两个关系表,则R×S的结果集为所有属于R的元组与所有属于S的元组进行组合而成R×S={(d1,d2) | d1∈R,d2∈S}
关系模型完整性
关系模型完整性是指在关系数据模型中对关系实施的完整性约束。
完整性约束作用:

  • 消除关系表的元组重复
  • 8
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
数据库应用系统设计与实现 实验类型:设计型 实验地点:2楼312 实验时间:12月14日、21日周五1-3/5-7节 实验内容: 系统概述: 某银行需要开发ATM存取款机系统实现如下功能: 1)开户(到银行填写开户申请单,卡号自动生成) 2)取款 3)存款 4)查询余额 题目要求: 一、建库、建表、建约束 1、使用SQL创建表 客户信息表userinfo 字段名称 说明 备注 customerID 顾客编号 自动编号(标识列),从1开始,主键 用序列sequence实现,用其属性:nextval customerName 开户名 必填 PID 身份证号 必填,智能是18位或15位,唯一约束 check约束length()函数 telephone 联系电话 必填,11位手机号 check约束,’[0-9]’ address 居住地址 银行卡信息表cardinfo 字段名称 说明 cardID 卡号 必填,主键,银行的卡号规则和电话好吗一样,一般前8位代表特殊含义,如某综合某支行等,假定该行要求其营业厅的卡号格式为10103576**** ***开始,每4位号码后有空格,卡号一般是随机产生。 curType 货币种类 必填,默认为RMB savingTate 存款类型 活期/定活两便/定期 openDate 开户日期 必填,默认为系统当前日期 openMoney 开户金额 必填,不低于1元 balance 余额 必填,不低于1元,否则将销户 pass 密码 必填,6位数字,开户时默认为6个“6” IsReportloss 是否挂失 必填,是/否值,默认为“否” customerID 顾客编号 外键,必填,表示该卡对应的顾客编号,一位顾客允许办理多张卡号 交易信息表transinfo 字段名称 说明 transDate 交易日期 必填,默认为系统当前日期 cardID 卡号 必填,外键 transType 交易类型 必填,只能是存入/支取 transMoney 交易金额 必填,大于0 remark 备注 可选,其他说明 2、使用SQL语言在每个表上添加约束 主键约束、外键约束、CHECK约束、默认约束、非空约束 二、插入测试数据 使用SQL语言向每个表插入至少3条记录 三、模拟常规业务 1)修改客户密码 2)办理银行卡挂失 3)统计银行资金流通余额和盈利结算 银行资金流通余额=总存入金额-总支取金额 盈利结算=总支取金额 * 0.008 – 总存入金额 * 0.003 4)查询本周开户的卡号,显示该卡相关信息 5)查询本月交易金额最高的卡号 6)查询挂失账号的客户信息 四、利用视图实现数据查询 1)为客户提供以下3个视图供其查询该客户数据 客户基本信息:vw_userInfo 银行卡信息:vw_cardInfo 银行卡交易信息:vw_transInfo 2)提供友好界面,要求各列名称为文描述 3)调用创建的视图获得查询结果 五、用存储过程实现业务处理 1)完成开户业务 2)完成取款或存款业务 3)根据卡号打印对账单 4)查询、统计指定时间段内没有发生交易的账户信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThetaQing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值