Oracle与MySql数据库设计、建库、DML、事务

目录

1 数据建模

1.1 软件开发

 1.2 数据建模

1.3 E-R图​编辑

 1.4 绘制工具

 2 数据库设计

2.1 概述

2.2 主键

2.3 外键

 2.4 范式

2.5 规则

3 建表

3.1 格式

 3.2 命名

3.3 数据类型

3.4 约束​编辑

3.5 特

 4 DML语句

4.1 概述​编辑

 4.2 使用

 4.2.1 insert

 4.2.2 update

  4.2.3 delete

4.2.4 关联

 4.3 delete on

 5 数据库事务

5.1 概述

 5.2 特征

 5.3 测试

 5.4 回滚

 5.5 隔离


1 数据建模

1.1 软件开发

软件开发流程,其实就是软件的设计思路和方法的一般过程,其实包括
分析
设计
编码
测试
部署
上线
运维

注意,这里每一项又可以细分为多个环节,例如分析可分为可行性分析、需求分析等,设计可以分为总体设计、模块设计、数据库设计等

 1.2 数据建模

在需求分析过程中,有一些重要的工作给系统进行建模,它为后续的设计和实现工作提供了支持
数据建模主要是要抽象出系统中所涉及到的实体,以及它们之间的关系。
此过程一般需要经过三个阶段:
概念建模
逻辑建模
物理建模

通常最后以E-R图的形式进行展现,根据E-R图就可以进行数据库设计了

 概念建模:
此阶段主要进行的步骤有:
客户交流
理解需求
形成实体

在业务复杂的时候,我们通过不能很快理解这个业务流程中的每个步骤,并且可能在客户的很多业务中,会有一些相同的步骤,这些都是需要我们反复和客户进行沟通后,才有可能有一个比较全面的掌握。
所以,这一般是一个迭代的过程,需要反复多次的和客户沟通、理解和确认。
逻辑建模:
此阶段主要是对概念建模阶段的实体进行细化、优化、测试等。
最后形成具体的E-R图(实体关系图),这张关系图中详细记录了实体信息,同时展示了实体与实体之间的关系。
注意,到此为止,还和具体使用的是什么数据库没有关系
物理建模:

此阶段中,将在逻辑建模阶段创建的实体关系图,根据选择使用的数据库,转为相应的 SQL代码,以便在在数据库中,创建相应数据库对象。
由于之后系统中的功能,主要就是围绕数据库进行实现的,所以此时还需要在数据库中,模拟测试数据并插入到表中,然后对前期需求分析中的功能,进行测试,以便能及时发现问题并处理。
最后,还可以针对系统的实际业务特点,考虑是否需要对数据库中的表进行拆分、读写分离等
思考,如果在开发中后期,突然发现数据库中表的设计,不能满足当前的功能需求,是否会有较大影响?


1.3 E-R图

 构成ER图的三大要素有:
实体
属性
关系


实体:
用来表示据有相同特征和性质的事物,实体由实体名和实体属性组成。

 

 

 

 1.4 绘制工具

很多种工具(安装的或在线的),都可以用来绘制E-R图,只是图形外观稍有区别,例如
windows visio,(安装)
power designer,(安装)
navicat,(安装)
diagrams.net,(在线)
processon,(在线)

例如,processon中

 例如,diagrams.net中

 

 2 数据库设计

2.1 概述

数据建模完成之后,可以把E-R图转换成数据库中的表:
实体的名字转换为表的名字
实体的属性转换为表中的列
具有唯一特点的属性设置为表中的主键
根据实体之间的关系,设置表中某列为外键列(主外键关联)

2.2 主键

主键的作用,就是用来唯一标识一行数据的

2.3 外键

外键的作用,就是用来标识这个类中的数据,是引用另一种表的一个字段值

 

 2.4 范式

 

 

 

2.5 规则

 

3 建表

3.1 格式

建表的格式有俩种:

 

 3.2 命名

对应表和列的名字:
        1. 必须是字母开头
        2. 必须是1-30个字符之间的长度
        3. 表名中只能出现字母、数字、_、#
        4. 不能和数据库中己有对象的名字重复
        5. 不能是数据库中的关键字


3.3 数据类型

1. char varchar varchar2 都是存储字符串
    char 存储数据的长度是固定的。varchar2 存储数据的长度是可变的。
    char 效率比 varchar2效率高。 varchar是数据库标准类型,varchar2类型是oracle数据库中特有的
     varchar2不能存空字符串,可以存null。varchar可以存空字符串
     Oracle建议使用VARCHAR2


2. number(p,s)
p 表示最大位数(整数位+小数位), s表示保留的小数位(四舍五入),也可以为负数。
例如,number(5,2)
存进去123.456,取出来为123.46
存进去12345.456,运行报错:值大于为此列指定的允许精度
注意1,其实这时候整数位最大只能有3位,因为要留俩位给小数位
注意2,可以直接使用number,不加参数,描述没有默认没限制


3. date
日期类型


4. blob
存二进制对象,例如视频,音频,图片等


5. clob
存储大文本,例如很多很多文字

 

3.4 约束

 列级约束的建表示例:
例如,普通的建表例子

 

 

 

 

 

 

 

 

 

 

 

 例如,使用表级约束 声明 联合唯一约束

 

 

 

 

 

 

 

 

3.5 特殊

 

 4 DML语句

4.1 概述

 4.2 使用

 

 4.2.1 insert

 

 

 4.2.2 update

 

  4.2.3 delete

 

4.2.4 关联

   

 

 

 

 

 

 

 4.3 delete on

 

 

 

 

 

 

 5 数据库事务

5.1 概述

 5.2 特征

 5.3 测试

  

 5.4 回滚

 

 5.5 隔离

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值