Database Concepts

Copyright © 2018 Joyce_BY
All rights reserved.
Contact by Yagnes126@gmail.com


A note on MySQL
# MySQL
# login with password
root@localhost> mysql -uroot -p

# create a database
mysql> CREATE DATABASE UNIVERSITY;

# check current databases:
mysql> SHOW DATABASES;

# enter the database
mysql> USE UNIVERSITY;

Now begin our main topic.

 

1. INTRODUCTION

数据、数据库、数据库系统、数据库管理系统
  1. 数据(Data) :描述事物的符号记录称为数据。
  2. 数据库(DB ):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
  3. 数据库管理系统(DBMS ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。数据库管理系统(DBMS ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
    (a) 数据库管理系统的主要功能:
    (1)数据库定义功能(2)数据存取功能(3)数据库运行管理(4)数据库的建立和维护功能。
    (b)DBMS的主要特性:
    (1)数据访问的高效和可扩展性 (2)缩短应用开发时间(3)数据独立性(物理/逻辑)(4)数据完整性和安全性(5)并发访问和鲁棒性
  4. 数据库系统(DBS ) :数据库系统是指在计算机系统中 引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、 数据库管理员构成;DBS 包括DB、DBMS。
实体、属性、码、域、实体型、实体集

实体(entity):客观存在并可以相互区分的事物叫实体。
属性(attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。
码(key):惟一标识实体的属性集称为码。
域(domain):域是一组具有相同数据类型的值的集合。
实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
实体集:同型实体的集合称为实体集。

 

逻辑数据模型

目前数据库领域中最常用的逻辑数据模型有层次模型、网状模型、关系模型等。

 

实体联系图(E-R 图)

实体型:用矩形表示,矩形框内写明实体名;
属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;
联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。

 

数据库系统的三级模式结构:

外模式(子模式/用户模式):数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,描述的是数据的局部逻辑结构;
模式(逻辑模式):数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,描述的是数据的全局逻辑结构;
内模式(存储模式):数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
DBS在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象。这两层映象保证了DBS中的data能够具有较高的逻辑和物理独立性。

 

2. RELATIONAL MODEL

关系数据库基于关系模型,是一个或多个关系组成的集合。

关系

关系:即表,是一组n元组的集合;
联系:entities之间的关联;
属性:表的列,每个属性都有名称,其值必须为原子的

多值属性和复合属性值不是原子的。
特殊值null是每一个域的成员。

关系模式(schema):属性的集合;
关系实例(instance):在关系模式上的关系。
元组(tuple):a row,无序的,但一个关系中不能有重复的tuple。

key(码/键)

superkey:在一个关系中能够唯一标志一个元组的属性集合;
candidate key:最小superkey;
primary key:用户从candidate keys中选择的用于标识一个表的集合;
foreign key:存在于一个表中(referencing,参照),同时是另一个表(referenced,被参照)的主键的属性。

参照关系中外码的值必须在被参照关系中实际存在或者为null。

查询语言

关系代数运算
六个基本运算
select(sigma[p](r))
project(pi[A1,A2,…](r))
union:等目同元,即属性数目必须相同,且对任意i,r的第i个属性和s的第i个属性域相同。
set difference(-):等目同元,即属性数目必须相同,且对任意i,r的第i个属性和s的第i个属性域相同。
cartisian product(x):r和s的属性没有交集,若有交集必须重命名这些属性。
rename(rho[X](E)):把名字X赋值给表达式E。
附加运算
set intersection(返回r,s共同拥有的元组集合):等目同元,即属性数目必须相同,且属性域可兼容;
natural join(作笛卡儿积,返回其中同名属性完全相同的元组的集合)
division(R2中的值全部存在于R1中的元组)
assignment(<-)
优先级
project>select>cartesian product>join, division>intersection>union, difference

 
扩展关系代数运算
广义投影:允许在投影列表中使用算术函数来对投影操作进行扩展;
聚集函数(aggregation function, g:avg、min、max、sum、count):分组进行函数操作;
外连接:保留一侧关系中所有与另一侧关系的任意元组都不匹配的元组并,再把产生的元组加到自然连接的结构上,使用空值。

 

null 空值(未知或不存在)

涉及null的任意算是表达式的结果为null;除了count(*),聚集函数会忽略空值。
与null的比较会返回一个特殊值:unknown,它位于false和true之间。

In OR, AND, NOT expressions:
unknown or true = true;
unknown and false = false;
other logic expressions expect above two, all return unknown.

3. SQL

table operations
  • CREATE TABLE r
    (A1 D1, A2 D2, …,
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值