从0到1学数据库:数据库基础

本文介绍了数据库的基本概念,包括数据管理、数据库、数据模型及其发展历史。重点讲解了数据库管理系统(DBMS)的功能,数据库系统的组成,以及关系数据库的特性。通过实例演示了如何使用MySQL创建数据库和表,强调了数据管理和数据库在软件开发中的重要性。
摘要由CSDN通过智能技术生成

点击上方“罗晓胜”,马上关注,您的支持对我帮助很大

上期文章

 

 

 

/   前言   /

 

    数据库是什么,首先我们要知道数据是什么。

    数据是一切程序流转的开始,程序设计中也是将数据放在首位的。

    程序即数据,万物皆数据

    为什么需要有数据库,数据放到纸上行不行,当然可以,放到文件中,也不是不行。但是那样适合大规模开发吗,能保证程序的正确和安全吗,能保证查询数据的效率吗,正是因为有了数据管理的需求,然后才有了数据库。

 

/   正文   /

 

要点

 

1. 数据管理、数据库、数据模型的基本概念及发展历史
2. 数据库管理系统, 数据库系统应用介绍
3. 数据模型及数据库体系结构介绍
4. 数据库特征、体系结构、常用概念对象、安全机制
5. 安装数据库软件和创建数据库、表

数据管理

数据管理的进展 –

  • 数据:是指所有能输入到计算机中并被计算机程序处理的符号的总称。–

  • 数据处理:• 是指对各种形式的数据进行收集、储存、加工和传播的一系列 活动的综合。其目的是从大量的、原始的数据中抽取、推导出 对人们有价值的信息。–

  • 数据处理的3个阶段:• 人工管理阶段 • 文件系统阶段 • 数据库系统阶段

什么数据库(Database)

数据库是这样的数据集合:

  • 长期存储在计算机(数据库服务器)内==>保障安全

  • 有组织的管理,具有较小的冗余==>有效管理,数据独立

  • 可共享的,多个用户可以对包含的数据进行共享 ==> 并发控制,权限控制等

数据库管理系统

数据库管理系统(Database Management System-DBMS): 

– 是一种管理数据库的软件。数据库管理系统是为数据库的建立、使用和维 护而配置的软件。它建立在操作系统的基础上,对数据库进行统一的管理 和控制。

用户使用的各种数据库命令已经应用程序的执行,都要通过数据 库管理系统。数据库管理系统还承担着数据库的维护工作。

– 在数据库内,数据库仅仅是指文件集合,这些文件用来存储和管理相关 数据,包括数据文件、控制文件以及重做日志文件。

数据库管理系统的主要功能:

– 1.数据库定义功能:DDL

– 2.数据存取功能:DML

– 3.数据库运行管理,这是DBMS运行时的核心部分,包括并发控制、存取控 制(安全性检查)、完整性约束条件的检查和执行、数据库内部的维护等 等。

– 4.数据库的建立和维护功能

数据库系统

数据库系统(DataBase System) – 是指在计算机系统中引入数据库后的系统,是一个实际可运 行的,按照一定的数据模型存储,维护并向应用系统提供数 据或信息支持的系统 ,

它由以下部分组成 :

• 数据库(Database,DB)

• 数据库管理系统(Database Management System, DBMS)

• 应用系统开发工具(程序设计软件) 

• 数据库管理员(Database Administrator, DBA) 

• 用户(User)

数据模型

 

数据模型:是数据库系统中用于提供信息表示和操作手段的一种 形式架构。

• 数据模型的几个层次:

– 1、概念数据模型:

– 2、逻辑数据模型:

– 3、物理数据模型:

概念数据模型:

– 简称概念模型,是面向用户的现实世界的模型,主要用来描 述世界的概念化结构,它使数据库的设计人员在设计的初始 阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力 分析数据以及数据之间的联系等,与具体的数据管理系统 (Database Management System,简称DBMS)无关。概 念数据模型必须换成逻辑数据模型,才能在DBMS中实现。

– 是现实世界到信息世界的第一层抽象,是用户和数据库设计 人员之间进行交流的语言。

• 在概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向 对象模型及谓词模型。

逻辑数据模型:

– 简称数据模型,这是用户从数据库所看到的模型,是具体的 DBMS所支持的数据模型,如网状数据模型(Network Data Model)、层次数据模型(Hierarchical Data Model)等等。此模 型既要面向用户,又要面向系统,主要用于数据库管理系统 (DBMS)的实现。

– 用于机器世界,通常需要有严格的形式化定义,而且常常会 加上一些限制或规定,以便于机器上的实现。

• 在逻辑数据类型中最常用的是层次模型、网状模型、关系模型。

物理数据模型:

– 简称物理模型,是面向计算机物理表示的模型,描述了数据在储存 介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系 统和硬件有关。每一种逻辑数据模型在实现时都有其对应的物理数 据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模 型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊 结构。

• 数据模型的三要素:

– 数据结构:对系统静态特性的描述

– 数据操作:对系统动态特性的描述

– 数据的约束条件:对完整性规则的描述

 

数据库发展历史:经历三个阶段

– 第一阶段:层次数据库(代表产品是1969年IBM公司研制的 层次模型数据库管理系统IMS。)

– 第二阶段:网状数据库 (目前大部分数据库采用的是关系型 数据库。1970年IBM公司的研究员E.F.Codd提出了关系模 型。其代表产品为sysem R和Inges。)

– 第三阶段:关系数据库 (第三代数据库将为更加丰富的数 据模型和更强大的数据管理功能为特征,以提供传统数据库 系统难以支持的新应用。它必须支持面向对象,具有开放性, 能够在多个平台上使用。)

关系数据库中有三种方式 :l 一对一关系 l 一对多关系 l 多对多关系

关系数据模型

当前3种主要的逻辑模型:

– 层次模型:

– 网状模型:

– 关系模型:

• 关系:对应于一张二维表

• 元组:对应一行

• 属性:对应一列

• 主码:某个属性组,唯一的表示一行

• 域:属性的取值范围

• 分量:元组中的一个属性值

• 关系名:对关系的描述

关系数据库的数据结构 – 关系数据库是指一些相关的表和其他数据库对象的集合。

对于关系数据库来说,关系就是表的同义词。表是由行和列组成(类似二维数组的结构)。

• 列包含一组命名的属性(也称字段)。

• 行包含一组记录,每行包含一条记录。

• 行和列的交集称为数据项,指出了某列对应的属性在某 行上的值,也称为字段值。

• 列需定义数据类型,比如整数或者字符型的数据。

常见关系数据库

– Oracle

– MySQL

 

– Microsoft SQL Server

数据库的特征

• 支持海量存储、多用户并发高性能事务处理。

• 多种备份和恢复策略。包括高级复制,物理和逻辑的24*7备份 和恢复工具,异地容载实现等。

• 开放式联结。给各种其他应用提供了统一的接口,并可以接入 很多其他传统应用程序。

• 遵循SQL语言规范,支持各种操作系统、用户接口和网络通信 协议的工业标准。

• 第一个实现网格计算的数据库

• 应用集群实现可用性和可伸缩性

• 业界领先的安全性

体系结构

数据库核心文件:

– 数据文件(Data files):存放的是用户的数据和系统的数据,一个数据 库一般会包含多个数据文件,数据文件的逻辑组织形式为表空间tablespace , 一个表空间内可以含有多个数据文件,数据库内可以有多个表空间。

– 重做日志文件(Redo Log Files):日志文件是二进制文件,记录了系统改变的 日志,主要用于数据库的恢复。因此,称为“重做日志文件”。

– 控制文件(Control files):记录数据库的一些核心配置数据。

• 参数文件(Parameter file):– 参数文件是在实例启动的时候,配置实例运行相关的一些参数(比如内存分配 的大小,实例运行出错的日志存放位置等)。

数据库对象

对象说明
表是用来存放用户数据的对象,由行和列组成,列就是字段,行就是表中的记录
约束保证数据完整性的规则,设置在单个字段或者多个字段组合上,写入这些字段的 数据必须符合约束的限制
视图虚表,是一个命名的查询,用于改变基表数据的显示,简化查询。访问方式与表 相同,同样可使用查询语句
索引构建于表的单字段或者字段组合上,用于加速对表中数据的查询
序列产生顺序的不重复数字串,被作为主键约束值的参照
同义词数据库对象的别名
存储过程用于完成某种特定的功能的PL/SQL程序,存储在数据库中
函数用于进行复杂计算的PL/SQL函数,返回一个计算结果,存储在数据库中
触发器由事件触发而执行的PL/SQL程序,用于在特定的时机执行特定的任务,存储在数 据库中
一组相关的函数和存储过程的命名集合,存储在数据库中

数据库安全

对象说明
用户用于组织和管理数据库对象,通常一个应用软件的数据库对象被存放在一个数据 库用户下。使用数据库用户连接数据库后,可以对这些数据库对象执行操作。
方案数据库对象的命名集合,一个方案唯一对应一个数据库用户,方案的命名与用户 命名完全相同,访问数据库对象的时,采取“方案名.对象名”的方式来访问
权限权限决定了数据库用户在数据库中能够做什么,如果用户没有权限,那么对数据 库不能执行任何操作。权限由高权限用户授予。
角色一组命名的权限,用户简化对权限的管理操作,可以一次将多个权限(一个角色 的权限)授予一个或多个用户。
配额当用户创建存储对象(如表、索引)时,需要一定的数据库的存储空间来存放这 些对象,配额就是分配给用户的可使用存储空间的限制。

安装软件和数据库

本系列文章的数据库都采用 mysql 演示操作,下载可以去官网:https://www.mysql.com/

 

数据管理工具使用Navicat Premium,软件需要破解,mac用户去xclient下载即可:https://xclient.info/

 

详见:https://github.com/soonphe/0-1Learning/tree/master/other

创建数据库

1. 启动本地数据库(安装好的mysql启动就不用关闭了)
2. 新建本地Connection连接(这一步是连接上本地的数据库,也可以连接远程)
3. 新建数据库New DataBase(一个连接可能会有多个库,一个库会有多张表)
4. 新建表表Table,在Tables中新建表New Table(表就是最小的orm实体映射单元,表就是我们日后常用的操作对象)
5. 新建字段属性,输入名称Name,类型Type(这里选择Varchar即可),然后保存
6. 新建一条记录,双击打开刚创建好的表,左下角Add record,随便输入字符串,保存,然后数据就保存下来了

 

/   总结   /

 

本文主要讲了数据入门的基础,了解数据的运转,数据与程序之间的联系,学好数据库和数据结构,不仅仅是理论要熟悉,更要实际多敲一些命令去联系。

 

往期推荐:

如何入门做软件开发

为什么我不推荐入行程序员

做全栈开发很难吗

关注我的公众号,学习技术或投稿

长按上图,识别图中二维码即可关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值