当前位置: 首页 > news >正文

数据库简介

1 数据库原理

1.1 数据(Date)

数据是数据库中存储的基本对象。

数据就是描述事物的符号记录。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,都可以经过数字化后存入计算机。

==数据的形式还不能完全表达其内容,需要经过解释。==所以数据和关于数据的解释是不可分的,数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。

1.2 数据库(DateBase)

数据库(DataBase,简称DB)是指长期储存在计算机内的、有组织的、可共
享的数据集合。

数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可以为各种用户共享。

1.3 数据管理系统(DBMS)

数据库管理系统(DataBase Management System,简称DBMS)是数据库系统的一个重要组成部分,位于用户与操作系统之间的一层数据管理软件

1.4 数据管理的三个阶段

背景特点人工管理阶段文件系统阶段数据库系统阶段
应用背景科学计算科学计算、管理大规模管理
硬件背景无直接存储设备磁盘、磁鼓大容量磁盘
软件背景无操作系统有文件系统有数据库管理系统
处理方式批处理联机实时处理、批处理联机实时处理、分布处理、批处理
数据的管理者用户(程序员)文件系统数据库管理系统
数据面向的对象某一应用程序某一应用显示世界
数据的共享性无共享,冗余度极大共享性差,冗余度大共享性高、冗余度小
数据的独立性不独立,完全依赖程序独立性差具有高度的物理独立性和一定的逻辑独立性

1.5 数据模型

模型是现实世界特征的模拟和抽象。

数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。不同的数据模型实际上是给我们提供模型化数据和信息的不同工具。

根据模型应用的不同目的,可以将这些模型划分为两类,它们分属于两个不同的层次。

1.6 概念模型

第一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,是用户和数据库设计人员之间进行交流的工具,这一类模型中最著名的就是实体关系模型。

实体关系模型直接从现实世界中抽象出实体类型以及实体之间的关系,然后用实体关系图(E-R图)表示数据模型。

1.6.1 E-R图

  • E-R图有下面四个基本成分:

(1)矩形框,表示实体类型(问题的对象)
(2)菱形框,表示关系类型(实体之间的关系)
(3)椭圆形框,表示实体类型或关系类型的属性;相应的命名均记入各种框中。对于键的属性,在属性名下画一条横线。
(4)连线。实体与属性之间,关系与属性之间用直线连接;关系类型与其涉及的实体类型之间也以直线相连,并在直线端部标注关系的类型(1:1,1:N或M:N)。

在这里插入图片描述

1.7 数据库数据模型

数据模型通常由数据结构、数据操作和完整性约束三部分组成。

1.7.1 常用数据模型

数据库领域中最常用的数据模型有四种:

层次模型(Hierarchical Model)
网状模型(Network Model)
关系模型(Relational Model)
面向对象模型(Object Oriented Model)
非关系数据库(大数据)

其中,层次模型和网状模型统称为非关系模型。现在已逐渐被关系模型的数据库系统取代。

1.7.2 常见关系型数据库

ORACLE(甲骨文)、DB2、SQL Server、Sybase、Informix、MySQL、VF、Access等。

数据库系统几乎支持所有的操作系统,也就是上述数据库几乎与平台无关(当然除SQL Server和Access以外,因为这是微软的东西,平台依赖性很强的)。

2 数据库设计

2.1 数据库设计三大范式

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。

范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。

2.1.1 第一范式

确保每列保持原子性

在这里插入图片描述

上例中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。
但是如果系统经常会访问“地址”属性中的“城市”部分,那么就要将“地址”这个属性重新拆分为省份、城市、详细地址等多个部分进行存储,这样在对地址中某一部分操作的时候将非常方便。

2.1.2 第二范式

确保表中的每列都和主键相关。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

在这里插入图片描述

这个表中是以订单编号和商品编号作为联合主键。但是在该表中商品名称、单位、商品价格等信息不与该表的主键相关,而仅仅是与商品编号相关。所以在这里违反了第二范式的设计原则。

如果把这个订单信息表进行拆分,把商品信息分离到另一个表中,把订单项目表也分离到另一个表中,就非常完美了。

在这里插入图片描述

2.1.3 第三范式

确保每列都和主键列直接相关,而不是间接相关。

比如在设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系。而不可以在订单表中添加关于客户其它信息(比如姓名、所属公司等)的字段。

3 SQL语言

3.1 SQL语言概述

SQL语言,是结构化查询语言(Structured QueryLanguage)的简称。

SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL语言之所以能够为用户和业界所接受,成为国际标准,是因为它是一个综合的、通用的、功能极强的、简学易用的语言。其主要特点包括:

综合统一
高度非过程化
用同一种语法结构提供两种使用方式
语言简洁,易学易用

3.2 SQL语言的核心

  • DDL

数据定义语言(Data Definition Language,简称 DDL),DDL用于定义数据库的逻辑机构,是对关系模式一级的定义,包括基本表、视图及索引的定义。

  • DQL

数据查询语言(Data Query Language,简称DQL),DQL用于查询数据

  • DML

数据操纵语言(Data Manipulation Language,简称DML),DML用于对关系模式中的具体数据的增、删、改等操作

  • DCL

数据控制语言(Data Control Language,简称DCL),DCL用于数据访问权限的控制

  • DTL

数据事务语言(Data Transcation Language,简称DTL),DTL用于数据库事务的控制

http://www.dtcms.com/a/302220.html

相关文章:

  • layui-vue 入驻 GitCode 平台:让前端开发更简单优雅
  • 【Oracle】ORACLE-ASM安装
  • vue-grid-layout元素交换位置及大小
  • Python Pandas.merge函数解析与实战教程
  • 【数学建模论文学习笔记】基于历史数据的蔬菜类商品定价与补货决策模型
  • Java从入门到精通!第十八天(JDK17安装以及网络编程) 完结篇!!!
  • 7.29 技巧|
  • 【数据库】使用Sql Server将分组后指定字段的行数据转为一个字段显示,并且以逗号隔开每个值,收藏不迷路
  • C# 接口(interface 定义接口的关键字)
  • JVM 垃圾回收机制全景解析:从对象回收到收集算法
  • Spring Boot日志开发实战手册:集成/输出/级别控制/持久化精要
  • MySQL 锁机制 15 连问 · 面试速答版
  • openeuler24.03部署k8s1.32.7集群(一主两从)
  • C primer plus (第六版)第九章 编程练习第6题
  • 基于YOLO11的电梯电瓶车检测系统:让电梯更安全
  • Redis反弹Shell
  • 《Java 程序设计》第 8 章 - Java 常用核心类详解
  • 安装研华板卡驱动
  • 重庆地区通信安全员考试题库及答案
  • tsc命令深入全面讲解
  • 零基础学习性能测试第六章:性能难点-Jmeter文件上传场景压测
  • 【智慧物联网平台】编译jar环境 Linux 系统编译IOT物联网——仙盟创梦IDE
  • React Immer 不可变数据结构的处理
  • Jmeter 性能测试监控之ServerAgent
  • Jmeter的元件使用介绍:(九)监听器详解
  • 10、Docker Compose 安装 MySQL
  • Redis数据量过大的隐患:查询会变慢吗?如何避免?
  • CacheGen:用于快速大语言模型推理服务的 KV 缓存压缩与流式传输
  • 【linux】高可用集群Keepalived
  • 如何给电脑换个ip地址?电脑换ip几种方法