第一章 数据库概述、MySQL的安装和配置
1.为什么要使用数据库
最早是纸质文件来存储数据
缺点:不易保存,占用空间大
计算机出现以后,采用软件来进行保存(excel)
缺点:容易损坏
文件一旦过大,打开都困难,更别说查询了
并发量差
综上所述,采用数据库来存储数据
2.什么是数据库
数据库概念:
数据库(英文叫做Database,DB)是按照数据结构组织,存储和管理数据的仓库,其本身可看作电子化的文件柜,用户可以对文件中的数据进行增加,删除,修改,查找等操作。
注意点:所谓的数据不仅仅是指数字,图片,音乐,视频等都可以被看做为数据。
(凡是在计算机中用来描述事务的记录都可以称作数据)
数据库的特点:
①数据结构化:所谓的结构化,就是拒绝零散,按照结构排列
②实现数据的共享:这样可以大幅度的减少数据冗余(就是重复的意思),节约存储空间,避免数据之间的不相容性与不一致性
③数据独立性高:很早之前数据和应用程序是绑定在一起的,有了数据库之后,可以解决此问题。
④数据统一管理和控制:简单来说,就是防止数据丢失、确保数据的正确有效,并且在同一时间,允许用户对数据进行多路存取
其余特点:见教材第4页
3.什么是数据库系统
数据库系统是由硬件和软件组成的,其中硬件主要用于存储数据库中的数据,包括计算机,存储设备等。软件主要包括操作系统以及应用程序等
主要包含3个部分:数据库,数据库管理系统,数据库应用程序
4.数据在数据库中的存储方式
数据在数据库中的存储方式大致分为4种:层次模型,网状模型,关系模型,对象模型
① 层次模型:用树的结构来存储数据,说白了就是一层一层往下找
20世纪60年提出的,现在主要被用于操作系统相关的文件管理系统中
② 网状模型
每一个子记录又可以和其他的子记录关联起来(这个时候已经有一点关系模型的影子)
20世纪60年代提出的
③关系模型
20世纪70年代早期和20世纪80末期所提出一种模型
特点:关系型数据库是独立于应用程序
④对象模型
在20世纪80年代后,随着面向对象编程语言的兴起,数据库的存储方式也多了一种叫做对象模型。
虽然对象模型数据库很有优势,但是关系型数据库出现至今30多年,已经有大量数据存入在关系型数据库里面。所以,目前市场上的数据库还是以关系型数据为主导。
5.关系型数据库的存储结构
虽然我们的数据库是保存数据的,但是数据库并不能直接保存存储数据。我们的数据是存储在表里面。一个数据库管理系统可以存储多个数据库,一个数据库又可以存储多个表,一个表又可以存储多个实体(所谓实体,就是一条完整的信息)。
表里面可以存储多个实体
6.关系型数据库的基本概念
表与表之间的几种关系:一对一,一对多,多对多
一对一:有两个表,表中的一行只能与另一个表中的一行相对应
老公表:
编号 |
姓名 |
联系方式 |
老婆编号 |
1 |
梁朝伟 |
Xxxx |
1 |
2 |
黄晓明 |
Xxxx |
2 |
3 |
邓超 |
Xxxx |
3 |
老婆表:
编号 |
姓名 |
联系方式 |
1 |
刘嘉玲 |
Xxx |
2 |
杨颖 |
Xxx |
3 |
孙俪 |
Xxx |
一个老公只能对应一个老婆,一个老婆同样也只能对应一个老公
一对多:一对多关系和一对一关系不同点在于,一个表格中的一行,可以和另外一个表格中的多行进行对应
顾客表
顾客编号 |
顾客姓名 |
地址 |
1 |
张三 |
成都 |
2 |
李四 |
简阳 |
3 |
王麻子 |
郫县 |
订单表:
订单编号 |
商品名称 |
价格 |
1 |
电视机 |
5000 |
2 |
洗衣机 |
2999 |
3 |
电脑 |
3999 |
一个顾客可以对应多个订单,但是一个订单只能对应一个顾客
多对多:有两个表,第一个表中的一行可以对应第二表中的多行,第二表中的一行同样也可以对应第一张表中的多行
学生表:
学生编号 |
学生姓名 |
地址 |
1 |
张三 |
成都 |
2 |
李四 |
简阳 |
3 |
王麻子 |
郫县 |
课程表:
课程编号 |
课程名 |
任课老师 |
1 |
信息技术 |
潘老师 |
2 |
体育课 |
孟老师 |
3 |
电子竞技 |
饶老师 |
一个学生可以选择多门课程,同样,一门课程也可以被多个学生选择
7.几个数据库相关的小知识点(DB,DBMS,RDBMS)
DB:DB是Data Base的缩写,翻译成中文就是数据库。一般来讲,数据库就是指存储数据的仓库,但是,有些时候也表示对数据库管理系统的简称
DBMS:数据库管理系统,英语全称Data Base Management System
RDBMS:关系型数据库管理系统,前面的R就是英语relational的简写
8.结构查询语言SQL介绍
什么是SQL:
SQL(Structured Query Language),中文叫做结构化查询语言,是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存储数据,查询数据,更新数据
SQL和DBMS是协同工作,DBMS负责对数据进行存储和管理,SQL主要负责向DBMS发送命令
SQL发展史:详见教材14页
20世纪70年代的时候,由IBM的Codd博士带头研究,所发明的一种数据库语言
1986年的时候,ANSI(美国标准协会)发布了一个正式的标准,命名为SQL-86,之后还有89版,92版,99版,目前最新的SQL-2003
SQL可以分为4个部分:数据定义语言,数据操作语言,数据查询语言,数据控制语言
数据定义语言(DDL):数据库定义语言主要用于定义数据库,表等。其中包括create语句,alter语句和drop语句等
数据操作语言(DML):主要用于对数据库进行添加,修改和删除操作。其中包括insert语句,update语句和delete语句。
数据查询语言(DQL):主要负责查询,查询语句使用select。
数据控制语言(DCL):主要用于控制用户的访问权限。
什么叫做SQL的非过称性质?
只关心想要的结果,而不会关心实现这个结果具体的步骤
9.目前市场上所流行的数据库管理系统
大致有如下的数据库管理系统:
MySQL(最早是瑞典的一家公司MySQLAB公司开发,08年的时候被sun公司给收购了,然而,09年的时候,sun公司又被Oracle给收购了,所以MySQL现在属于Oracle旗下产品)
Oracle(甲骨文,)
postgre SQL(以教学为目的而开发出来的对象关系型数据库管理系统ORDBMS,在性能和标准的取舍上更倾向于标准)
mongo DB(10ten公司所开发介于关系型与非关系型之间的数据库管理系统,在目前的大数据时代渐渐开始崭露头角)
SQL Server(微软)
10.My SQL介绍
自己上网查询
11.为什么选择MySQL
原因有三点:
① 免费
② 在性能和标准的取舍上偏向于性能
③ 好用,將大多数企业常用的那40%的功能做得很好用
④ 开源