数据库基础

基本概念

数据库:存放与管理数据的仓库,是逻辑上相关的数据的集合。优点有:减少数据冗余度、具有较高的独立性、便于数据共享。

数据库系统:由数据库及其管理软件组成的系统。

SQL:Structured Query Language,结构化查询语言,用来访问关系型数据库。

表:等同于二维数组,每一列是数据属性,每一行是数据内容。

字段:表中的列也叫字段。字段有自己的名字与属性。

索引:是单独的数据库结构,用来加速数据检索。

视图:将查询的结果以虚拟表的形式存储,用于保护数据安全性。

存储过程:能够完成特定功能的SQL语句的集合,类似于高级语言中的函数。

属性

字段也叫属性,哎,就是这么乱。

简单属性:不能再分的基本属性。

复合属性:相对于简单属性,比如说列名叫“电话及地址”,那么这列就是复合属性。

单值属性:一个实体只有一个值的属性,比如姓名。

多值属性:一个实体可以有多个值的属性,比如电话号码,邮箱等。

派生属性:由其他属性可以计算得到的。比如有了“出生年月”,那么“年龄”就是派生属性了。

规范化

范式:Normal Form。

1NF:表的每一字段都是不可分割的基本数据项。

2NF:首先要满足1NF,然后要求数据库表中的每个非主关键字段都完全依赖于主关键字段。

3NF:首先要满足2NF,然后要求不存在非关键字段对任一候选关键字段的传递函数依赖。

一般说来,数据库只需满足第三范式(3NF)就行了。

 

索引

是单独的数据库结构,用来加速数据检索。

缺点:1.占用额外存储空间;2.对表中数据修改时,索引也要动态维护,效率降低。

聚集索引:根据数据行的键值排序和存储。

非聚集索引:不修改原表中数据项的位置。

 

存储过程与触发器

数据库中的存储过程类似于高级语言中的函数,是能够完成特定功能的语句的集合。优点:代码重用、可传参数。

create procedure fun1  //根据学生编号查询学生信息

@x int

as

select * from Student where stu_id=@x

调用方法为:  execute fun1

 

触发器是一种特殊类型的存储过程,当指定表中的数据发生变化时触发器自动生效,通常被用来约束数据完整性。

触发器不能设置参数、不能通过名称调用。触发器被作为事务来处理。

Create trigger t_student //对表Student添加数据时,都会有提示信息-‘准备插入数据’

on Student

after insert 

as

print ‘准备插入数据’

游标

游标是取用一组数据并能够一次与一个单独的数据进行交互的方法。

通常select语句对整行产生作用,游标可以对某行的某列起作用。

//声明游标

declare my_cursor cursor for

select * from Student

where id=’1’

 

//打开游标

open my_cursor

go

 

事务、锁及其并发问题

事务是逻辑上相关的一些语句的集合。为了保障数据的一致性,这些语句要么全成功执行,要么执行失败进行回滚。

特性:原子性、一致性、隔离性、持久性。

begin transaction my_t //声明事务开始

update Student set name =’小明’

where id=1

commit transaction  my_t  ////提交事务

事务的并发问题有4种:

1.丢失更新。多个事务同时更新同一行如事务A、B同时修改小明的英语和语文成绩。

2.脏读。一个事物读取了另一个事务尚未提交的更新。

3.不可重复读。

4.幻象读。

涉及多个数据库的事务称为分布式事务

 

锁是一种机制,用来防止事务的并发问题。常见的有共享锁、更新锁、排它锁等。

 

时间: 2025-01-21 15:13:46

数据库基础的相关文章

PHP移动互联网开发笔记(7)——MySQL数据库基础回顾

  一.数据类型 1.整型 数据类型 存储空间 说明 取值范围 TINYINT 1字节 非常小的整数 带符号值:-128~127 SMALLINT 2字节 较小的整数 带符号值:-32768~32767 MEDIUMNT 3字节 中等大小的整数 带符号值:-8388608~8388607 INT 4字节 标准整数 带符号值:-2147483648~2147483647 BIGINT 8字节 大整数   2.浮点型 数据类型 存储空间 说明 取值范围 FLOAT 4字节 但精度浮点数   DOUB

[转]李战大师-悟透delphi 第十一章 面向对象数据库基础

第十一章  面向对象数据库基础 第二节 数据对象的标识我们在关系数据库的设计和开发中,可能经常需要一些唯一的编号或标识,用来作为关键字,以区别每一个不同的人,每一张不同的单据,每一次不同的信息登记,等等.并且,我们也一直采用这些编号和标识,作为关系的连接字段.但是,要保证编号或标识是完全唯一的,却是一个不大不小的难题.下面我们将详细讨论这一问题,并希望能从另一个高度来理解这一问题.不过,我们首先来看看问题是怎样由来的.现在,给大家讲一个故事. 从前,在北京降生了一个漂亮的小女孩.接生的李阿姨说,

《SAP入门经典(第4版•修订版)》——3.4 SAP数据库基础知识

3.4 SAP数据库基础知识 SAP入门经典(第4版•修订版) 掌握了硬件和操作系统的知识细节之后,现在我们可以把注意力转到在下层支持SAP业务应用的数据库了,看看它所承担的角色.在选择数据库时,还应像选择硬件平台和OS时一样慎重挑选.鉴于平台和SAP版本限制,您可能只有一两种数据库可选(这就凸显了把SAP基础设施作为一个整体计算平台加以考虑的重要性).主流的数据库SAP均能支持,包括Microsoft SQL Server(最终将可以搭配SQL Azure使用).IBM DB2和多种Oracl

移动网站开发教程六,MySQL数据库基础

一.数据类型 1.整型 数据类型存储空间说明取值范围 TINYINT1字节非常小的整数带符号值:-128~127 无符号值:0~255 SMALLINT2字节较小的整数带符号值:-32768~32767 无符号值:0~65535 MEDIUMNT3字节中等大小的整数带符号值:-8388608~8388607 无符号值:0~16777215 INT4字节标准整数带符号值:-2147483648~2147483647 无符号值:0~4294967295 BIGINT8字节大整数 2.浮点型 数据类型

《锋利的SQL(第2版)》——2.1 SQL Server数据库基础

2.1 SQL Server数据库基础 锋利的SQL(第2版)本节将介绍SQL Server数据库的实现方式,包括实例.数据库.架构.数据库文件存储等内容. 2.1.1 数据库的服务方式 传统的SQL Server数据库服务方式是安装在客户场所内,客户负责所有的事情--硬件.安装软件.处理更新.高可用性和灾难恢复(HADR).安全,以及其他事项.客户可以在同一个服务器上安装产品的多个实例,可以编写查询与多个数据库交互,也可以在数据库之间切换连接. 当然,目前已经进入了云时代,数据库作为IT基础架

MySQL数据库基础教程

mysql|基础教程|数据|数据库 数据库从最初的数据文件的简单集合发展到今天的大型数据库管理系统已经成为我们日常生活中不可缺少的组成部分.如果不借助数据库的帮助,许多简单的工作将变得冗长乏味,甚至难以实现.尤其是象银行.院校和图书馆这样的大型组织更加依靠数据库系统实现其正常的运作.再看互联网上,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库.       目前,市面上的数据库产品多种多样,从大型企业的解决方案到中小企业或个人用户的小型应用系统,可以满足用户的多样化需求.这里,我们所

数据库基础知识

几乎所有的商业应用程序都需要处理大量的数据,并将其组织成易于读取的格式.这种要求通常可以通过数据库管理系统(MDBS)实现.MDBs是用高级命令操作表格式数据的机制.数据库管理系统隐藏了数据在数据库中的存放方式之类的底层细节,使编程人员能够集中精力管理信息,而不是考虑文件的具体操作或数据连接关系的维护. 下面,先介绍几个基本的概念. 数据库:数据库就是一组排列成易于处理或读取的相关信息.数据库中的实际数据存放成表格(table),类似于随机访问文件.表格中的数据由行(row)和列(column)

数据库基础:为什么要进行预处理数据

当今现实世界的数据库极易受噪声.丢失数据和不一致数据的侵扰,因为数据库太大(常常多达数千兆字节,甚至更多),并且多半来自多个异构数据源.低质量的数据将导致低质量的挖掘结果."如何预处理数据提高数据质量,从而提高挖掘结果的质量?如何预处理数据,使得挖掘过程更加有效.更加容易?" 有大量数据预处理技术.数据清理可以用来去掉数据中的噪声,纠正不一致.数据集成将数据由多个源合并成一致的数据存储,如数据仓库.也可以使用数据变换,如规范化.例如,规范化可以提高涉及距离度量的挖掘算法的准确率和有效性

《数据库基础及实践技术——SQL Server 2008》一1.3 数据和数据模型

1.3 数据和数据模型 本节介绍如何理解现实世界.如何将之"信息化"以及如何描述现实世界的信息结构等内容. 1.3.1 数据和数据模型概述 数据 为了了解世界.研究世界和交流信息,人们需要描述各种事物.用自然语言来描述虽然很直接,但过于烦琐,不便于形式化,而且也不利于用计算机来表达.为此,人们常常只抽取那些感兴趣的事物特征或属性,作为事物的描述.例如,一个学生可以用如下记录来描述:(张三,9912101,1981,计算机,应用软件),单凭这样一条记录人们一般不容易知道其准确含义,但如果

《数据库基础及实践技术——SQL Server 2008》一1.2 数据库系统与数据库管理系统

1.2 数据库系统与数据库管理系统 本节介绍数据库系统的组成以及数据库管理系统的功能. 1.2.1 数据库系统的组成 数据库管理系统是一个系统软件,如SQL Server.Oracle.DB2等都是著名的数据库管理系统软件,但在有了数据库管理系统这个软件之后,并不意味着已经具有了用数据库管理系统管理数据的优点,必须在这个软件基础之上进行一些必要的工作,以把数据库管理系统提供的功能发挥出来.首先应该利用这个系统存放用户自己的数据,让数据库管理系统帮助我们把这些数据管理起来,其次还应有对这些数据进行