SQLServer数据库系统概念
数据模型是一种抽象模型,现实世界中的客观事物是彼此相互联系的
(1)数据模型是一组集成的概念,用户描述和操作组织内的数据,数据间的联系以及对数据的约束,它包含了数据结构,数据操作和完整性约束
(2)概念模型又被称为实体-联系(E-R)模型,主要用于描述信息世界中实体的联系
在概念模型中用于描述其数据的概念有(实体、属性、实体型、实体集、码、实体集间的联系类型等)
(3)实体:是客观存在的并相互区别的事物,实体可以是具体的人、事与物,也可以是抽象的概念,例如:一个学生,一个城市,一门课程等等
(4)属性:是用于描述实体的特征与性质的,一个实体有若干个特性,每一个特性称为实体的一个属性,具有相同属性的实体具有相同特征与特性,属性不能独立于实体而存在,
如学生是一个个体,也可以理解为一个实体,其属性有学号,姓名,性别,出生年月等
(5)实体型:用实体名和属性名称集来描述同类实体,称为实体型,例如多个学生是同类实体的集合,
可定义类型为学生(学号,姓名,性别,出生年月为这一类实体的属性名称集),是多个学生所具有的公共属性
(6)实体集:是若干个同类实体全部信息的集合,将多个学生的个人信息构成的集合
(7)码:如果某个属性或某个属性集的值能够唯一地标识出实体集中的某一个实体,该属性或属性集就可以称为码(Key)
也可以称为主属性,反之为非主属性,理解为:【学生】实体集中可以将学号作为码,若实体集中没有重名的学生
那么【姓名】属性作为码,若实体集有重名的,但其性别不同,可以将【姓名和性别】两个属性联合作为码
(8)联系:是两个或者两个以上的实体集间的关联关系,理解为:【学生】实体集之外,还有一个于学生相关的【班级】实体集
记录了某个学院所设置的班级状态,这样【学生】和【班级】两个实体集便构成了联系
关系模型(Relational Model)中所谓的关系
是特定含义的它指用那种虽具有相关性而非从属性的按照某种平行序列排序的数据集合关系
数据结构:是用来描述显示系统中数据的静态特性的,它不仅要描述客观存在的实体本身,还要描述实体间的联系
分量:在一个关系中,每一个数据都可看成独立的分量,分量是关系的最小单位,一个关系中的全部分量构成了关系的全部内容
元组:在一个关系中,每一横行称为元组,若干个平行的,相对独立的元组由若干属性组成,横向排列元组的诸多属性,
元组对应于实体集中若干平行的、相对独立的实体,每一个实体的若干属性组即是元组的诸多属性
属性:在一个关系中,每一竖列称为一个属性,属性对应于实体集的一个属性的全部信息
关系模式
在一个关系中,有一个关系名,同时每个属性都有一个属性名,通常把有用于描述关系结构的关系名和属性的集合称为关系模式
关系模式对应的是概念模型中的实体型
码: 是关系模型中的一个重要概念,有以下几种
超码: 能唯一标识元组属性或属性集称为关系模式中的超码
候选码: 如果一个属性或属性集能唯一标识元组,且不含多余的属性,那么这个属性称为关系模式的候选码
主码: 在一个关系模型中,正在使用的候选码,或由用户特别指定的某一候选码,可称为关系模式的主码
外码: 如果关系中某个属性或属性集是其他关系模式的主码,那么该属性或属性集是尺的外码,又称为外键
SQLServer数据库系统概念的更多相关文章
- 《数据库系统概念》1-数据抽象、模型及SQL
DBMS(database-management system)包括数据库和用于存取数据的程序,DBMS的基本目标是为数据的存取提供方便.高效的方式,此外对大多数企业来说,数据是非常重要的,所以DB ...
- 数据库系统概念:SQL的数据类型与模式、授权
public class DataBase { public static void main() { } } /* 4.5 SQL的数据类型与模式 4.5.1 SQL的日期与时间类型 SQL标准支持 ...
- (转)sqlserver游标概念与实例全面解说
首先声明:该文章转自http://www.cnblogs.com/wudiwushen/archive/2010/03/30/1700925.html 的博客 引言 我们先不讲游标的什么概念,步骤 ...
- 《数据库系统概念》10-ER模型
通过建立实体到概念模型的映射,Entity-Relationship Model可以表达整个数据库的逻辑结构,很多数据库产品都采用E-R模型来表达数据库设计. 一.E-R模型采用了三个基本概念:实体集 ...
- sqlserver游标概念与实例全面解说
引言 我们先不讲游标的什么概念,步骤及语法,先来看一个例子: ?????? 表一 OriginSalary????????????????????????????????????????????? ...
- 数据库系统概念:JDBC
import java.sql.*; public class DataBase { public static void main() { } } /* 5.1.1 JDBC */ class JD ...
- 数据库系统概念:基础的SQL
public class DataBase { public static void main() { } } /* 3.1 SQL查询语言概览 SQL语言有一下几个部分: 数据定义语言:提供定义关系 ...
- 《数据库系统概念》11-扩展的E-R特性
虽然基本的E-R特性可以应对大部分数据库建模,但为了使用方便,也提供扩展的E-R特性 一.特化Specialization有时一个实体集会保护若干子集,这些子集各自具有不同的属性.比如person可 ...
- 《数据库系统概念》4-DDL、集合运算、嵌套子查询
一.DDLa) SQL Data DefinitionSQL的基本数据类型有char(n).varchar(n).int.smallint.numeric(p,d).real,double preci ...
随机推荐
- django实战-留言板
对应github链接:https://github.com/pshyms/django/tree/master/liuyanban 第一天 1. 创建一个新项目后,新建一个应用程序 python ma ...
- Objective-C Associated Objects 的实现原理
我们知道,在 Objective-C 中可以通过 Category 给一个现有的类添加属性,但是却不能添加实例变量,这似乎成为了 Objective-C 的一个明显短板.然而值得庆幸的是,我们可以通过 ...
- ES6之新增set数据结构
学习set set是ES6中的新增的数据结构,是一种构造函数,类似于数组,但是里面的元素都是唯一的,不重复的. 例如: const set = new Set(); [1,2,3,4,5,2,1,2, ...
- MySQL数据库的账户管理
账户管理 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然后连接进行操作,主要的操作就是数据的crud MySQL账户体系:根据账户所具有的 ...
- 汉诺塔的python 动画演示
1.简介 古代有一座汉诺塔,塔内有3个座A.B.C,A座上有n个盘子,盘子大小不等,大的在下,小的在上,如图所示.有一个和尚想把这n个盘子从A座移到C座,但每次只能移动一个盘子,并且自移动过程中,3个 ...
- [转] Mock以及Mockito的使用
http://www.open-open.com/lib/view/open1462177583813.html [From] http://www.open-open.com/lib/view/op ...
- 工具软件推荐——GifCam
博文里面的动态gif图片都是使用这款软件录制的,可以选择帧率,清晰度,并且编辑每一帧的图片,非常好用,特此推荐~ 注意: GifCam 是一款免费绿色的软件. 大家尽量在官方下载 下载地址. 最新的版 ...
- PHPStorm操作小技巧
1.围绕选中字符输入引号或者括号 2.设置服务器部署 3.隐藏Project快捷键 Shift + Esc 4.IDE内窗口切换 Ctrl + TAB 5.关闭当前项目 File -> Clos ...
- windows下简单配置apache
不得不做个笔记,不然每次配置都记不清楚... 详细的配置朋友这边写的很好.地址 # 对 PHP 4 LoadModule php4_module "c:/php/php4apache2.dl ...
- PHP之string之str_split()函数使用
str_split (PHP 5, PHP 7) str_split - Convert a string to an array str_split - 将字符串转换为数组 Description ...