软件设计之MySQL(1)
此篇应在JavaSE之后进行学习:
路线图推荐:
【Java学习路线-极速版】【Java架构师技术图谱】
Navicat可以在软件管家下载
使用navicat连接mysql数据库创建数据库、表、转储sql文件,导入sql数据
学习内容:
- 数据库概述
- 表、记录、字段
- Navicat使用注意事项
- SQL
1、数据库概述
为什么要使用数据库
数据库相关概念
关系型数据库和非关系型数据库
关系型数据库(RDBMS)
1、以行
和列
的形式存储数据,一系列的行和列被称为表
,一组表
组成一个库
2、关系
体现在表与表之间的联系,各种联系均用关系模型
表示
3、SQL就是关系型数据库的查询语言
非关系型数据库(非RDBMS)
1、主要体现为舍得
2、舍
体现在,非关系型数据库通常舍弃了严格的ACID、复杂的SQL查询能力
3、得
体现在由于没有复杂的查询和一致性要求,非关系型数据库通常在数据写入
和读取
的性能上表现优异;其擅长在分布式环境
中进行水平扩展,可以处理大量的数据·和·高并发的请求
ORM思想
Object Relational Mapping
数据库中的一个表对应Java中的一个类
数据库中的一条数据对应类中的一个对象
数据库中的一列对应类中的一个属性、属性(field)
2、表、记录、字段
E-R(entity-relationship,实体-联系)模型中三个主要概念:
实体集
、属性
、联系集
联系集–>表的关联关系:四种。一对一关联
、一对多关联
、多对多关联
、自我引用
一对一关联(one to one)
“一对一关联”指的是在数据库设计中,一个表中的每一行记录只能与另一个表中的一行记录相关联,也就是说,两个表之间的这种关系是
独占的
,每个对象在另一个表中只能有一个
对应的对象。
举例:学生表:学生、姓名、手机号码、班级信息、紧急联系人
常用信息表:学生、姓名、手机号
不常用信息表:学生、班级信息、紧急联系人
一对多关系(one to many)
一对多关系
指的是一个表中的一条记录可以与另一个表中的多条记录相关联。例如,一个班级可以有多个学生,一个客户可以有多个订单。
举例:员工表与部门表
员工表:编号、姓名、所属部门
部门表:编号、名称、简介
多对多关系(many to many)
它表示一个表中的多条记录可以与另一个表中的多条记录相关联,通常,这种关系需要通过一个**中间表(或连接表,桥表)**来实现
举例:学生选课
学生信息表:一行代表一个学生信息
课程信息表:一行代表一个课程信息
选课信息表:一个学生可以选多门课、一门课可以被多个学生选择
其中选课信息表是把各个学生选的各个课程作为数据存放
具体而言是:它包含了两个外键字段:StudentID 和 CourseID,分别指向 Student 和 Course 表中的主键。这个表记录了学生与课程之间的所有关联。
自我引用(Self reference)
自我引用指的是表中的一条记录可以与同一个表中的另一条记录相关联
举例:
假设有一个表示公司员工的表,每个员工都有一个经理,而经理本身也是员工。我们可以使用自我引用来表示这种关系。
3、Navicat使用注意事项
在添加连接后,要双击连接,使图案变绿,才是打开状态
新建数据库就是在该图案处,点右键创建
新建表的第一步是添加字段:例如学生的id、姓名、身份证等字段(属性),添加完后保存,并对表命名
SQL
SQL是访问和处理数据库的标准的计算机语言
SQL分类
SQL语言的规则与规范
规则1
规则 2(注释结构)
规则3(数据库导入)
方式1:在
命令行
客户端登录mysql,使用source指令导入
mysql> source d:\mysqldb.sql
提醒
:Windows 系统中的路径应该使用双反斜杠 (\) 或正斜杠 (/) 来避免转义问题
方式2:在Navicat(或别的)导入sql