玩转oracle 11g(45):关系数据库

关系数据库

关系模型         定义:以二维表的形式表示实体和实体之间联系的数据模型称为关系数据模型。 从模型的三要素角度看,关系模型的内容为:      

( 1 )数据结构:一张二维表格。       

( 2 )数据操作:数据表的定义,检索、维护、计算等。       

( 3 )数据约束条件:表中列的取值范围即域值的限制条件。

关系模型的几个常见概念:      

( 1 )关系:一个关系就是一张二维表,每个关系都有一个关系名,即数据表名。        ( 2 )元组:表中的行称为元组,一行就是一个元组,对应表中一条记录。       

( 3 )属性:表中的列称为属性,即字段。字段名称为属性名,字段值称为属性值。        ( 4 )域:  属性的取值范围,如,分数在 0 ~ 100 之间。       

( 5 )关键字:表中的一个属性(组),它的值可以唯一地标志一个元组。如:学号。        ( 6 )候选码:表中的某一个属性,它的值可以唯一地标志一个元组。一个表中可能有多个候 选码,选择一个作为主键,主键的属性称为主属性。      

  (7) 外关键字:如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关 系的关键字,则称其为该关系的外关键字。

关系模型的完整性 :  关系模型的完整性是保证关系数据表正确的关键。 

关系模型支持实体完整性约束、参照完整性约束和域约束 3 种完整性约束。 •

( 1 )实体完整性约束             假设 A 是一个表 R 的主键,则 A 不能接收空值,即单列主键的值不能为空.       复合主键的任何列都不能接收空值。

 

 ( 2 )参照完整性约束             参照完整性约束关心的是逻辑相关的表中值与值之间的关系。   假设 X 是一个表 A 的主键,在表 B 中是外键,那么若 K 是表 B 中一个外部键值, 则表 A 中必然存在在 X 上的值为 K 的记录。

( 3 )域约束     域是逻辑相关的值的集合,从域中可以得出特定列的值。     例如,在学生信息表中: ●“出生日期”域的值必须按照特定的统一格式存放,而不能有时用: 1986.12.23 格 式,有时用: 12/23/1986 格式,造成数据混乱; ●“学生名字”、“院系名称”等域的值必须属于字符集合; ●对于“性别”,该域中的值必须局限于男、女等。        ( 4 )数据库范式

本讲中只介绍第一范式 (1NF) 、第二范式 (2NF) 、第三范式 (3NF) 、第四范式 (4NF) 。 这 4 种范式,这对于绝大多数数据库来说已经足够了。

第一范式          (1)每个列的值都是不可分的简单数据项。

 

• 第二范式       (1)所有表必须符合第一范式;      (2)表中每一个非主键列都必须完全函数依赖于主键(关键字)。                    Patient_Id、Visit_Id、Oper_Id • 第三范式       (1)所有表必须符合第二范式。      (2)表中每一个非主键列对主键都不存在传递依赖,而应是直接依赖。(一个表中已有的非主 键列不能在其他表中也存在)            Med_Pat_Master_Index表中的name字段,在其他表中就不能再存在。否则就会出现大量数据 冗余

 

第四范式

第四范式禁止了主键列和非主键列之间的一对多关系。

在表中,一个学生可以有多种喜欢的运动,也可以有多类喜欢的图书。这样在 同一表中具有这样两个不相关的列, 与主键存在多对一关系,使得表中存在冗 余现象和不对称情况 , 因为不知道每个人的喜好情况,也就无法知道哪列的值 多,哪列的值少,使得表格中出现了很多不规则的空白。

解决的方法同样是在遵守无损分解的条件下,将表分解成多个表,从而消除传 递依赖的情况。 

关系数据库sql语言

语言: SQL • Structured Query Language ,结构化查询语言

 。 SQL 语言的功能包括查询、操纵、 定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化 的语言,只要求用户指出做什么而不需要指出怎么做。 

 

• SQL标准: SQL-86 : ANSI/ISO 的第一个标准

 SQL-89 :增加了引用完整性

 SQL-92 :被数据库管理系统( DBMS )生产商广泛接受

 SQL-99 :各种连接 jion 操作语法

 SQL-2003 :包含 XML 相关内容,自动生成列值

 SQL-2006 :定义了 SQL 与 XML (包含 XQuery )的关联应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425936.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[剑指offer][JAVA]面试题[51][数组中的逆序对][归并排序]

【问题描述】面试题51.数组中的逆序对 (困难) 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1:输入: [7,5,6,4] 输出: 5限制&…

2019年1月16日【第三天学习】

2019年1月16日星期三 任务一、运行CrackMe1.exe,提示 "嗯,对了" 代表成功。首先修改exe使得出现成功提示,其次不修改exe输入正确的密码达到成功的目的。 hint:https://blog.csdn.net/Nagi_Way/article/details/68961121 使用.Net的…

玩转oracle 11g(46):图解oracle数据库

1构成 由实例和数据库构成 2构成 3市例 4构成

[Leedcode][JAVA][第46题][全排列][回溯算法]

【问题描述】 46.全排列 (中等) 给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ]【解答思路】 1. 回溯 时间复杂度:O(NN!) 空间…

java学习(167):生产者消费者问题

class Ck {private char[] r1 new char[8];private int wp 0;public synchronized void shengchan(char aa) {while (wp r1.length) //满了try {this.wait();} catch (Exception e) {}this.notify();//叫醒另一个线程,当前线程处于就绪状态r1[wp] aa;wp;System.…

[Markdown语法][快速入门][CSDN]

Markdown语法Markdown学习资料【使用建议】快捷键目录标题文本样式列表链接代码片表格注释 & 注脚自定义列表LateX数字公式插入甘耐图插入UML图插入Mermaid流程图插入Flowchart流程图Markdown学习资料 「中文文案排版指北」 「官方文档」 [科学上网] 【使用建议】 Mark…

常用开发环境搭建配置教程(OneStall)

最近想要做一个小东西,用到了下面几个中间件或者环境: Java Tomcat Maven MongoDB ZooKeeper Node 并且恰好碰到腾讯云打折,云主机原价100多一个月,花了30块钱买了三个月。买下后立即动手准备开始环境配置。 说到环境,…

sqlserver:(1):sqlserver安装超详细

1第一步,下载对应的镜像文件链接: https://pan.baidu.com/s/1nBwjrukxCAMD4xLdYofPXA 提取码:9rv7 复制这段内容后打开百度网盘手机App,操作更方便哦 然后,点击左面安装,在显示页面中点击全新SQLServer独…

linux 5识别网卡,CentOS 5.5系统识别不了Atheros AR8151网卡怎么办?

在安装完CentOS 5.5系统后,有些人出现无法上网的现象,经检测发现是Atheros AR8151网卡识别不了,遇到这种问题不用怕,下面小编就给大家介绍下CentOS 5.5无法识别Atheros AR8151网卡的解决方法。现象前段时间,在一台电脑…

混合代码块 Markdown Leedcde

混合代码块 Markdown(仅限Leedcode) 使用说明 Markdown 语法 注意语言后有空格 ! 展示效果

java学习(168):java连接SQL server数据库

1安装sql server数据库 2打开eclipse写入以下代码 package sjk;import java.sql.*;public class Main {//这里可以设置数据库名称private final static String URL "jdbc:sqlserver://localhost:1433;DatabaseNametest";private static final String USER"sa&…

mongo:(1)nosql简介

MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 NoSQL 简介 NoSQL(NoSQ…

[Leedcode][JAVA][第33题][搜索旋转排序数组]

【问题描述】[33. 搜索旋转排序数组] [中等] 假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引&#xff0…

001. Ansible简介

一 简介 Ansible是一款极其简单的自动化运维工具, 基于Python开发, 集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点。 实现了批量系统配置, 批量程序部署, 批量运行命令等功能。 Ansible是基于模块工作的, 本身没有批量部署的能力。真正具有批量部署的是ansi…

mongo:(2)mongoDB简介

什么是MongoDB ? MongoDB 是由C语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个…

linux分割图片软件,桌面应用|5 种拆分 Linux 终端的方法

本文介绍了 Linux 提供的拆分终端的方法,它能够帮助你完成多任务工作。那么,你最喜欢哪一款终端复用工具呢?没有什么问题是不能用一个 Linux 终端解决的,如果不行,那就用两个。很早以前,终端其实是一个物理…

[剑指offer][JAVA][面试题56 - I][第260题][位运算][HashSet]

【问题描述】 [面试题56 - I] [数组中数字出现的次数] 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums [4,1,4,6] …

mongo:(3)windows上mongoDB安装

1打开程序 2下一步 3下一步 4custom自定义 5取消勾选,安装 6安装完成以后 在bin目录下建文件夹 7创建结束,将mongo.conf放在根目录下 8管理员运行 Cd D:\Program Files\MongoDB\Server\3.6\bin 然后 9 >mongod --config D:\mongo\mongo.conf --i…

LOJ10121 与众不同

题目描述 A 是某公司的 CEO,每个月都会有员工把公司的盈利数据送给 A,A 是个与众不同的怪人,A 不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。 A 想知道区间 [L,R] 之间最长的完…

[计算机网络][总结][常见问题][TCP][三次握手][四次挥手]

TCP三次握手 四次挥手 三次握手 目的:保证传输的可靠性,为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。主要防止资源的浪费。 具体过程:当客户端发出第一个连接请求报文段时并没有丢失,而是在某个网络节点…