Oracle数据库表和表列讲解-阿里云开发者社区

开发者社区> 优惠活动> 正文

Oracle数据库表和表列讲解

简介:
+关注继续查看

Oracle数据库表和表列讲解

如果将数据库比作一个存储东西的储物柜,表就像是储物柜上的各个抽屉,每个抽屉分门别类地存放了各种数据,在设计和规划数据库时,表的定义和规划往往相当重要,良好的表设计决定了程序人员编写程序的便利性与数据库的整体性能。现在讲理解Oracle中表的结构和设计的指南。

1、表和实体
曾经介绍过实体的概念。实体是对现实世界的抽象,在设计一个数据库时,首先需要考虑数据库需要涉及的实体。比如一个仓库数据库。如果进行现实世界的实体划分,可以具有如下实体:

仓库,存储仓库名称、位置。
仓库管理员,存储管理仓库的人员信息,比如工号、姓名、年龄等。
仓库类别,存储仓库的类型,比如是成品仓、半成品仓或原材料仓。
货位,存储仓库中物品的货位信息,比如货位位置、结构等。
在设计与规划表结构时,应该实现从现实世界的角度来分辨客观事物,将其划分为实体,然后规划出各个实体之间的关系,也就是说一般先绘制中实体关系(E-R)图,这个过程称为“数据库建模”。有了实体关系图后,数据库管理人员就可以进行表的创建,以仓库管理员中的仓管员领料为例,回执出了如图1.1的实体。

在图中矩形表示实体,椭圆形表示实体的属性,菱形表示实体与实体之间的关系。关系型数据库管理系统将实体转换为二维结构的二维表,表由表行和表列组成。表列带哦表实体中的属性,而表行则用来存储实体属性的具体的数值,一个数据库表的结构通常如表1.1所示。

可以看到,实体向表的转换过程就是对二维表的转换过程,整个表由表行和表列组成,表列存储了实体的属性,多个表列组成了表的实体存储结构,一般提及表的结构时,实际上就是之的表列的组成。表行根据表列的定义具体的存储数据,形成一个具体的表存储结构。

在将实体转化为表时,一般建议通过3个步骤进行:

(1)将实体中的属性定义成表列,根据属性的不同性质为表的列指定不同的数据库类型。比如姓名一般存储字符类型的数据,年龄一般存储的是数据类型的数据。

(2)根据E-R关系图中的实体属性和关系,为表添加约束。比如姓名是唯一的,name可以添加主键约束;如果必须要指定性别,可以添加非空约束;表与表之间的关系可以通过外键约束来进行指定。

(3)在定义了表和表列之后,根据表列添加表行,实现一个具有二维结构的数据表。

在设计表和表列时,必须要符合在之前介绍的数据库范式设计,因此表的设计也是一个返回迭代的过程,需要数据中的设计人员进行多次反复迭带来实现结构最优化的数据库。

原文地址https://www.cnblogs.com/XXXHui/p/12673933.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JVM中类加载的时机
本文主要记录下类的加载过程,一个类从加载到内存中开始到被卸载的整个生命周期作为java程序员来说应该还是要清楚的。
5 0
Class文件结构介绍[字段表集合和方法表集合]
字段表(field_info)用来描述接口或类中声明的变量,字段包括类级别变量以及实例级别变量。但不包括方法内部声明的局部变量。以如下代码来分析
3 0
解决自然语言歧义问题,斯坦福教授、IJCAI 卓越研究奖得主提出 SenseBERT 模型
自然语言理解和生成对于 AI 系统来说是一大难题,语言的复杂性和模糊性对 AI 系统提出了很大挑战。今天,斯坦福教授、IJCAI 卓越研究奖得主 Yoav Shoham 创办的公司 AI21 Labs 提出一种能够显著提升词汇消歧能力的新模型,并发布了可控性优于其他前沿文本生成系统的「HAIM」。AI21 Labs 的愿景是构建「具备前所未有的优秀自然语言理解和生成能力」的 AI 系统。
4 0
Java的内存模型
java的后端服务器开发中"高效并发"是我们经常会碰到的,而要写出高效的代码需要更多的积累与实践。而一些基础的内容是往这个方向发展的基石。所以我们就来介绍下
5 0
Class文件结构介绍[访问标志,类索引,父类索引,接口索引集合]
在常量池结束后,紧接着的两个字节代表访问标志(access_flags),这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是类还是接口,是否定义为public类型,是否定义为abstract类型,如果是类的话是否被声明为final等,
5 0
【2020 Java基础快速学习路线】写了很久,这是一份最适合普通大众、非科班的路线
【2020 Java基础快速学习路线】写了很久,这是一份最适合普通大众、非科班的路线
4 0
英语学习利器:一款词典笔的模型创新与工程实践
机器学习怎样帮助英语学习?查词、翻译、标准发音都少不了:OCR(光学字符识别)实时识别单词与句子,NMT(神经网络翻译)自动翻译语句,TTS(语音合成)合成最真实的标准读音。那么这些是不是能集成到一个硬件中,成为智能的英语学习利器,这就是网易有道词典笔 2.0。
4 0
CV困境如何破:训练样本有限、2D视觉平面 VS 3D真实场景...
本文介绍了计算机视觉在实际场景和实际任务中存在的三种困境,以案例详细说明,并给出了潜在的解决方案。
4 0
Oracle最新的Sql笔试题及答案
Oracle最新的Sql笔试题及答案
5 0
教妹学Java(七):究竟什么是JVM?
教妹学Java(七):究竟什么是JVM?
4 0
+关注
优惠活动
阿里云代金码,领券优惠bieryun.com
93
文章
3
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载