数据库系统概述

  • 数据:描述事物的符号

可以是数字、文字、图片、音频、视频等

  • 数据库:大量数据的集合

长期存储在计算机中,可共享,有组织。

数据库具有数据结构化、最小的冗余度、较高的_独立性特点

  • 数据库管理系统:系统软件

与OS一样,是计算机系统软件。

功能:

(1)定义数据

(2)组织、存储和管理数据

(3)数据操纵

(4)事务管理与运行管理

(5)数据库的建立与维护

  • 数据库系统:存储、管理、处理和维护数据的系统

由数据库、数据库管理系统、应用程序和管理员组成

数据模型

有两种:(1)概念模型(如E-R:实体-联系模型)

  • 实体:客观存在并可相互区分的事物。如一个学生。
  • 属性:实体具有的某一特性。如学生的学号。
  • 码:唯一标识实体的属性集。如学生的学号。
  • 实体型:用实体名及属性名抽象刻画的同类实体。如学生(学号,姓名)。
  • 实体集:同一类型实体集合。如全体学生。
  • 实体减间的联系:不同实体集间的联系。有1:1,1:n和n:n等多种类型。

(2)逻辑模型/数据模型(层次、网状、关系、面向对象数据、半结构化数据、对象关系数据等模型)和物理模型

层次模型

如IMS。为树状结构,除根结点,每个结点都有唯一的一个双亲结点。每个结点表示一个记录类型(实例)。
记录值的查询只能按层次路径查看,没有子女记录值能脱离双亲记录值单独存在。

网状模型

(多对多),图形结构。如一个人可选多门课,每门课可被多人选,数据结构:允许有的结点没双亲,允许一个结点有多个双亲

层次模型与网状模型已经过时。

关系模型

二维表,一行是一个元组,,一列即一个属性。如(学生(学号,姓名,性别))
分量:元组中的一个属性值。

关系模型由关系数据结构,操作集合和完整性约束。不允许表中有表。

插入时,若没有相应的双亲结点则不能插入子女结点。

  • 关系:一个关系对应一张表。
  • 元组:表的一行
  • 属性:表中一列
  • 码/键:某个可以唯一确定一个元组的属性集合。
  • 域:具相同数据类型值的集合。如人的年龄域一般在[1,120].
  • 分量:元组中的一个属性值(即表中某个元素)。
  • 关系模式:对关系的描述。如学生(学号,姓名,性别)

关系模型三要素:

  1. 数据结构
  2. 关系操作
  3. 完整性约束

数据库模式

模式(shema)仅仅涉及型(type)的描述,模式的一个具体值称为模式的一个实例。模式是稳定的,而实例是变动的
外模式是模式的子集。
内模式也叫存储模式,一个数据库只一个,是数据物理结构和存储方式的描述(如堆存储还是升降序排序)。
模式是数据的全局逻辑结构,外模式是局部,即用户视图。

映像

数据库在三级模式中提供了两层映像。保证了数据的逻辑和物理的独立性,用户无需关注数据在计算机中的具体表示,交给管理系统就行。
外模式/模式映像:应用程序是依据外模式编写的,当模式变化时,只需修改该映像,可保证外模式不变,保证了数据和程序的逻辑独立性。
模式/内模式映像:当数据存储结构变时,只需修改这个映像,可保证模式不变。保证数据与程序的物理独立性。

数据库学习(二):关系模型

数据库学习 (一):数据库系统概述相关推荐

  1. oracle临时表经常被锁_数据库学习——Oracle 数据库了解与使用

    一. 数据库相关概念 1 什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新.删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度.与 ...

  2. h2数据库学习------h2数据库介绍

    介绍 H2是一款内存数据库,适合我们在开发阶段.学习阶段调试代码使用,并不适用于生产阶段,可以满足我们学习与调试代码的需求. H2 数据库是一个用 Java 开发的嵌入式(内存级别)数据库,它本身只是 ...

  3. 【数据库学习】——数据库可视化--Navicat下载安装连接教程

    目录 进入网站 下载可视化软件 安装 双击桌面图标,选择试用 连接数据库 查看数据库中的表,如下所示 常用数据库有: MySQL.sqlite等 进入网站 Navicat | 产品https://ww ...

  4. DB2数据库学习之数据库备份还原

    一.数据库离线(脱机)备份 1.cd /db2_backup 切换到存放备份文件的目录,如果没有要新建 2.db2 list applications for db dbName(数据库名) 确保没人 ...

  5. linux系统中mysql表中能添加中文_数据库学习之数据库增删改查(另外解决Mysql在linux下不能插入中文的问题)(二)...

    数据库增删改查 增加 首先我们创建一个数据库user,然后创建一张表employee create table employee( id int primary key auto_increment, ...

  6. 数据库学习--DQL(数据库查询语言)

    查询语句 select * from 表 where 条件 [inner/left/right join 表1 on 条件] group by 列名 having 组 order by 列名 limi ...

  7. h2数据库学习----h2数据库基本使用

    依赖 <dependency><groupId>org.glassfish.hk2</groupId><artifactId>hk2</artif ...

  8. 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

    目录 1.sqlite数据库介绍 1)常见的数据库操作 2)数据操作常见步骤 2.向数据表中增加数据(insert into) 1)向数据表中添加一条记录 2)向数据表中一次性添加多条记录 ​ 3.修 ...

  9. oracle数据库学习总结

    前言 这是本人复习兼学习两周oracle数据库后整理的一些知识,适合查询oracle的一些语法,也可以当作一个oracle数据库的知识架构梳理. 鉴于数据库语法繁琐,知识点繁多,还有很多知识点没有纳入 ...

最新文章

  1. 2018-3-20论文(一种新的群体智能算法--狼群算法)笔记一(引言中提到的的一些智能算法,以及自己的感想)
  2. 代码变油画,精细到毛发,这个前端小姐姐只用HTML+CSS,让美术设计也惊叹丨GitHub热榜...
  3. [云炬创业基础笔记]第二章创业者测试6
  4. 发布CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008)和架构实例源码Demo
  5. 普通 项目打包包含第三方jar包
  6. 课后作业-阅读任务-阅读笔记4
  7. STC51-串口通信
  8. 苹果“自研”心不死 仍考虑收购英特尔基带业务
  9. 里bl2和bl3为什么分开_真正爱过的人,分开,真的会是“好散”吗?
  10. java reader类子类_java io --- Reader类
  11. Android中获取并设置屏幕亮度
  12. 服务器svn自动同步,svn主备服务器实时同步
  13. mac mysql 1055_Mysql 错误“1055”
  14. 深入浅出实时数据库12.8日版
  15. STM32cubeIDE使用CCMRAM
  16. 【零基础深度学习教程第一课:深度学习基础】
  17. html表头解释_1分钟内解释的html
  18. 基于JSP的某餐厅点餐系统
  19. mysql where 条件取反_MySQL搜索: WHERE 多条件
  20. 嵌入式下的Hello World——点亮流水灯(STM32cubemx)

热门文章

  1. 第十七届全国大学生智能车竞赛山东赛区比赛成绩
  2. 狗年最后一文[2007-02-16]
  3. github在线修改文章
  4. OS发展史中各操作系统的形成、发展和特点
  5. 【2023年电工杯数学建模竞赛】选题分析+A题B题完整思路+代码分享
  6. 力天创见智慧客流方案
  7. Docker - volume、-v 区别
  8. pdb 符号文件 如何生成的,作用
  9. Cisco Packet Tracer 交换机的VLAN划分
  10. 薛定谔 | 小分子叠合