数据库基础知识

合集下载

数据库基础知识

数据库基础知识

27
Access 2010 的系统结构是指其包含的数据库对象,不同的数据库对象可以实现不同的数据库 功能。Access 包含的数据库对象有以下6种。

查询
窗体
报表

模块
1.4.1 Access 2010的系统结构
28
1.表
表是 Access 数据库的核心和基础,是整个数据库系统的数据源。在表中,数据以二维表的形式 保存,表中的列称为字段,字段是数据信息的最基本载体,是数据的属性体现 ;表中的行称为记录, 一条记录就是 一个完整的信息
1.1.2 数据库系统
9
3.数据库管理系统概述
数据组织、存储与管理:数据库管理系统要分类组织、存储和管理各种数据,包括数 据字典、用 户数据、存取路径等,确定以哪种文件结构和存取方式组织这些数据,如 何实现数据之间的联系, 以提高存储空间利用率和存取效率。
数据库的建立与维护:数据库管理系统能够实现数据库的数据载入、转换、转储、数 据库的重组 合重构及性能监控等,这些功能分别由各个程序来完成。
指表 A 中的一条记录在表 B 中可以对应多条记录,而表 B 中的一条记录在 表 A 中也可 对应多条记录。
1.1.3 数据模型
12
3.数据模型的类型
层次数据模型
网状数据模型
关系数据结构
1.1 数据库基本概念 1.2 关系数据库 1.3 数据库设计基础 1.4 Access 2010 概述
1.2.1 关系模型
外部关键字:如果表中的一个字段不是本表的主关键字,而是另外一个表的主关键字和候选关键 字,这个字段(属性)就称为外部关键字。
1.2.1 关系模型
2.关系的特点
关系必须规范化
A

数据库基础知识汇总-超详细

数据库基础知识汇总-超详细

数据库基础知识汇总-超详细
本文档旨在汇总数据库基础知识,帮助读者快速了解数据库的概念和常见术语。

以下是一些重要的数据库基础知识:
1. 什么是数据库?
- 数据库是一个存储、管理和组织数据的系统。

它提供了一种结构化的方式来存储和操纵数据,以支持应用程序和用户的需求。

2. 数据库管理系统(DBMS)
- 数据库管理系统是一个软件工具,用于管理数据库。

它允许用户创建、访问和维护数据库,并提供了各种功能来处理数据。

3. 数据模型
- 数据模型是用于组织和表示数据的方法。

常见的数据模型包括层次数据模型、网络数据模型和关系数据模型。

4. 关系数据库
- 关系数据库是基于关系模型的数据库系统。

它使用表来表示数据,并使用结构化查询语言(SQL)进行数据操作。

5. 数据库表
- 数据库表是数据的集合,由行和列组成。

每行代表一个记录,每列代表一个属性。

6. 主键
- 主键是用于唯一标识数据库表中记录的列。

它保证每条记录
都有一个唯一标识。

7. 外键
- 外键是一个表中的列,它与另一个表中的主键相对应。

它用
于建立表之间的关系。

8. 数据库索引
- 数据库索引是一种数据结构,用于快速查找和访问数据。


可以提高数据库查询的性能。

9. 数据库范式
- 数据库范式是一组规则,用于设计关系数据库的结构。

它有
助于消除数据冗余和提高数据一致性。

以上只是数据库基础知识的一部分,更多内容可以在深入研究中探索。

希望这份文档对您有所帮助!。

数据库系统基础知识

数据库系统基础知识

1.硬件
• 数据库系统对硬件的要求是:CPU处理 速度高;要求足够大的和安全的磁盘等直接 存储设备用于安全地存储庞大的数据;要求 有较高的通信能力,以提高数据传送率;还 要求系统支持联网,以实现数据的共享。
2.软件
• 数据库系统的软件包括操作系统、数 据库管理系统(或编译系统)和应用程序 系统。
• 大量的数据按一定的数据模型组织存 储在数据库中,从而便于进行数据管理、 实现数据共享。
4.数据库管理系统
• 数据库管理系统(DataBase Management System,DBMS)是对数据 库进行管理和实现对数据库的数据进行操 作的管理系统。
• 如图1.3所示,DBMS是建立在操作系 统基础上,位于操作系统与用户之间的一 层数据管理软件。
(1)实体。
• 从数据处理的角度看,现实世界中的 客观事物称为实体,实体可定义为客观存 在的并相互区分的“事物”。
(2)属性。
• 一个实体具有不同的属性,属性描述了 实体某一方面的特性。
(3)实体集。
• 属性有“型”和“值”的区分。
• 在Visual FoxPro中,用“表”来存放同 一类实体,如教师表存放教师实体,成绩表 存放成绩实体。
(1)一对一的联系(1:1)。
(2)一对多的联系(1:n)。
(3)多对多的联系(m:n)。
1.2.3 数据模型
• 数据是描述客观事物的载体,而现实 世界中事物总是彼此联系的,因此数据与 数据之间必然存在一定的联系,我们可以 用数据模型来描述这种联系。
• 数据模型是反映事物间联系的数据组 织的结构和形式。
• 关系模型与层次模型、网状模型的本 质区别在于数据描述的一致性,关系模型 概念单一。
1.3 数据库系统

数据库基础知识

数据库基础知识

第一章数据库基础知识1.基本概念:数据库、数据管理经历的五个阶段、数据库管理系统、数据库应用系统、数据库管理员。

2.数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。

其中数据库管理系统是数据库系统的核心。

3.数据库系统的特点:(1)实现数据共享,减少数据冗余(2)采用特定的数据模型(3)具有较高的数据独立性(4)有统一的数据控制功能4.数据模型:实体间联系的种类:一对一、一对多、多对多。

5.数据模型的三种类型:层次模型、网状模型和关系模型。

6.关系数据库基本术语:关系、元组、属性、域、关键字、外部关键字。

关系的特点7.关系运算:传统的集合运算(并、差、交)另一类是专门的关系运算(选择、投影、连接、等值连接、自然连接)8.VF两种运行方式:菜单方式和交互式方式(命令方式和程序方式)9.所谓项目是指文件、数据、文档和对象的集合,其扩展名为 .pjx。

10.项目管理器包含的选项卡:全部、数据、文档、类、代码、其他11.项目管理器各选项卡所包含的文件有哪些?12.项目管理器可以完成对文件的新建、添加、移去、删除,但不包含重命名。

第2章1.常量的种类:数值型、字符型、日期型、日期时间型和逻辑型在书写字符型、日期型、日期时间型和逻辑型需要加定界符2.变量是值能够随时改变的量。

变量名的命名规则:以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成,不包含有空格3.当内存变量与字段变量同名时,要访问内存变量需加前缀M.(或M->),例如M.姓名4.数组定义的格式DIMENSION 数组名()、创建数组后,系统自动给每个数组元素赋以逻辑假.F.5.表达式的类型:数值表达式、字符表达式、日期时间表达式和逻辑表达式。

每个表达式的运算规则与结果。

6.运算符$ 称为子串包含测试,格式<字符表达式1> $ <字符表达式2>7.SET EXACT ON │OFF 的区别与含义。

数据库基础知识

数据库基础知识

1.1 数据库基本概念 1.1.3 数据模型
1、概念模型
实体的属性及其值
属性名称 属性值
学号 05001 05002 05003
姓名 张建国 李天明 王Байду номын сангаас春
性别 男 男 女
出生年月 1981.6 1980.3 1981.5
1.1 数据库基本概念 1.1.3 数据模型
1、概念模型
(3)实体型、实体值和实体集 属性的集合可以表示一种实体的类型,称为实体型,通 常使用实体名和试题属性名的集合来描述。同类型的实体 的集合称为实体集。实体值是实体的具体实例。 例如,对学生实体的描述:学生(学号,姓名,性别,出 生年月)。全体学生就是一个实体集。(05001,张建国, 男,1981.6)是实体集中的一个具体的学生或者是一个实体 值。
1.1 数据库基本概念 1.1.3 数据模型
1、概念模型
(4)实体间的联系 实体间的对应关系,它反映客观事物之间的相互联 系。例如,一个教师可能教几门不同的课程,而每一门 课程又有可能有若干个不同的学生选修。 实体间的联系: ① 一对一的联系 简记为1:1。含义:如果实体A中的任一 实体最多与实体B的一个实体相对应(相联系),反之, 若实体B中的任一实体也最多与实体A中的一个实体相 对应,则称A与B是一对一的关系
1.1 数据库基本概念 1.1.2 数据管理的发展历史
2、文件系统阶段
优点:数据以文件形式保存, 优点:数据以文件形式保存, 与程序独立,且可多次存取。 与程序独立,且可多次存取。 缺点: 缺点: 数据文件是无结构的数据集合, 存在, 数据文件是无结构的数据集合,只能反映客观事物的 存在, 不能反映各事物间的联系。 不能反映各事物间的联系。 数据和应用程序互相依赖,数据文件由程序生成, 数据和应用程序互相依赖,数据文件由程序生成,数 据存取 由程序完成, 意义。 由程序完成,离开所依赖的程序则失去 意义。 服务与不同程序的数据文件互相独立, 共享。 服务与不同程序的数据文件互相独立,无法实现数据 共享。 一个应用程序所对应的数据文件不能为另 一个 程序使 数据冗余大。 用。数据冗余大。 应用程序编制较繁烦,缺乏对数据正确性、安全性、 应用程序编制较繁烦,缺乏对数据正确性、安全性、 保密性 的有效控制手段。 的有效控制手段。

第1章数据库基础知识

第1章数据库基础知识
9
1.2 数据库系统
1.2.1 数据库系统的组成 数据库系统是由计算机系统、数据库及其描述机构、数据 库管理系统和有关人员组成的具有高度组织性的整体。 1.计算机硬件 计算机硬件是数据库系统的物质基础,是存储数据库及运 行数据库管理系统的硬件资源,主要包括计算机主机、存储 设备、输入输出设备及计算机网络环境。
3
2.数据处理 数据处理是指将数据转换成信息的过程,它包括对 数据的收集、存储、分类、计算、加工、检索和传 输等一系列活动。 计算机是一个具有程序执行能力的数据处理工具, 如图所示。
4
1.1.2 计算机数据管理技术的发展 1. 人工管理阶段 20世纪50年代中期以前,数据管理是以人工管理方式进行的。 数据管理的特点如下。 (1)数据不保存 (2)由应用程序管理数据 (3)数据有冗余,无法实现共享 (4)数据对应用程序不具有独立性
23
2.数据操作 数据操作用于描述系统的动态特性,是指对数据库中的各 种数据所允许执行的操作的集合,包括操作及有关的操作规 则。数据库主要有查询和更新(包括插入、删除和修改等)两 大类操作。数据模型必须定义这些操作的确切含义、操作符 号、操作规则(如优先级)及实现操作的语言。
24
3.数据的完整性约束 数据的完整性约束是一组完整性规则的集合。数据模型应 该反映和规定数据必须遵守的、基本的、通用的完整性约束。 此外,数据模型还应该提供定义完整性约束条件的机制,以 反映具体所涉及的数据必须遵守的、特定的语义约束条件。
27
2.观念世界中的概念模型 概念模型的特征是按用户需求观点对数据进行建模,表 达了数据的全局逻辑结构,是系统用户对整个应用项目涉 及的数据的全面描述。概念模型主要用于数据库设计,它 独立于实现时的数据库管理系统。 概念模型的表示方法很多,目前较常用的是E-R模型。

数据库基础知识

数据库基础知识
显示世界事物之间的相互关联
第一章 数据库基础知识
• √ 1.1 数据库的基本概念 • √ 1.2 数据描述 • 1.3 数据模型 • 1.4 数据库系统 • 1.5 关系模型的基本概念 • 1.6 E-R模型的设计 • 1.7 从E-R模型到关系模型的转换 • 1.8 关系代数 • 1.9 关系规范化
• 数据描述
– √概念设计中的数据描述 – √逻辑设计中的数据描述 – 数据联系的描述
数据联系的描述
• 什么是联系:是指实体之间的关系。与一 个联系有关的实体集的个数,称为联系的 元数。例:一元联系、二元联系、三元联 系。
• 二元联系的三种类型:
– 一对一 – 一对多 – 多对多
数据联系的描述
两个实体型间的联系:
一个班级中有若干名学生,
组成
每个学生只在一个班级中学习 n
学生
1:n联系
数据联系的描述
• 多对多联系(m: n):若实体集A中的每一个实体和
实体集B中的多个实体有联系,反过来,实体集B
Hale Waihona Puke 中的每个实体也可以与实体集A中的多个实体有
联系,则称实体集A与实体集B有多对多的联系,
记作m: n。
课程
• 课程与学生之间的联系:
实体型1
实体型1
实体型1
1
1
m
联系名
联系名
联系名
1 实体型2 1:1联系
n 实体型2 1:n联系
n 实体型2 m:n联系
数据联系的描述
• 一对一:若实体集A中的每个实体至多和实
体集B中的一个实体有联系,则称A与B具有
一对一的联系,反过来亦此。一对一的联
系记作1:1。
班级

第1章 数据库基础知识

第1章 数据库基础知识
1.4 关系数据库
1.4.3 关系的性质和完整性规则
2.关系的完整性规则 ②实体完整性:实体是关系描述的对象, 一行记录是一个实体属性的集合。在关系中用 关键字来惟一地标识实体,关键字也就是关系 模式中的主属性。实体完整性是指关系中的主 属性值不能取空值(Null)且不能有相同值。 ③参照完整性:在实际的应用系统中,为 减少数据的冗余度,常设计几个关系来描述相 同的实体,这就存在关系之间的引用参照,即 一个关系属性的取值要参照其它关系。
1.4.3 关系的性质和完整性规则
2.关系的完整性规则 关系的完整性是指关系中的数据及具有关 联关系的数据间必须遵循的制约和依存关系, 以保证数据的正确性、有效性和相容性。关系 的完整性主要包括实体完整性、域完整性和参 照完整性。 ①域完整性:域完整性约束也称为用户自 定义完整性,是对数据表中字段属性的约束, 包括字段的值域、字段的类型及字段的有效规 则等,它是由确定关系结构时所定义的字段的 属性所决定。
数 据 库 系 统 的 模 式 结 构
应用A 应用B 应用C 应用D
外模式1
外模式2
外模式3 外模式/模式
1
2 模式 1 内模式
3
模式/模式
数据库 1.3 数据库系统
1.3.4 数据库系统的分代
数据库系统经过30多年的发展,已走过第一、 二两代,现正向第三代发展。 1.非关系型数据库系统 非关系型数据库系统是对第一代数据库系统的 总称,其中包括层次型和网状型数据库系统两种类 型。 2.关系型数据库系统(Relational Database System,简称RDBS) 20世纪70年代中期DBS进入了第二代。 3.对象-关系数据库系统(Object-Relational Database Systems,简称ORDBS) 将数据库技术与面向对象技术相结合,构成第 三代数据库系统的基础。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.数据库概述(1) 用自定义文件格式保存数据的劣势。

(2) DBMS(DataBase Management System,数据库管理系统)和数据库,平时谈到”数据库”可能有两种含义:MSSQL Server,Oracle等某种DBMS;存放一堆数据库的一个分类(CateLog)。

(3) 不同品牌的DBMS有自己不同的特点:MYSQL,MSSQLServer,DB2,Oracle,Access,Sybase 等。

对于开发人员来讲,大同小异。

(4) 除了Access,SQLServerCE等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。

学习,开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器。

数据库中的概念(1) CataLog(类)(又叫数据库DataBase,表空间TableSpace),不同类的数据因该放到不同的数据库中。

1) 便于对各个CataLog进行个性化管理2) 避免命名冲突3) 安全性更高(2) Table(表);不同类型的资料放到不同的”格子”中,将这种区域叫做”表”,不同的表根据放的数据不同进行空间的优化,找起来也方便。

(3) 列(Column),字段(Field)。

主键(Primarykey)(1) 主键就是数据行的唯一标示,不会重复的列才能当主键,一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都会设定主键。

(2) 主键有两种选用策略;业务主键和逻辑主键。

业务主键是使用有业务意义的字段做主键,比如身份证号,银行账号等。

逻辑主键是使用没有任何业务意义的字段做主键,因为很难保证业务主键不会重复(身份证号重复),不会变化(账号升位),因此推荐用逻辑主键。

(3) 逻辑主键:完全给程序看的,业务员不会看的数据。

SQL Server管理:用户名验证和Windows验证,开发时用Windows验证就行了。

(2) 常用字段类型:bit(可选值0,1),datetime,int,varchar,nvarchar(可能含有中文用nvarchar)。

(3) varchar(),nvarchar().char(n)的区别:char(n)不足长度n的部分用空格填充。

Var:variable:可变的。

SQL语句入门(1) SQL语句是和DBMS”交谈”专用的语句,不同DBMS都认SQL语法。

(2) SQL语句中字符串用单引号。

(3) SQL语句是大小写不敏感的,不敏感指的是SQL关键字,字符串值还是大小写敏感。

(4) 创建表,删除表不仅可以手工完成,还可以执行SQL语句来完成,在自动化部署,数据导入中用的很多。

创建表: create table T_Person 删除表:drop table T_Person(ID int not null,Name nvarchar(50),Age int null)(5) 执行简单的Insert语句:insert into T_Person(ID,Name,Age) values(1,’Jim’,39)(6) *(熟悉):SQL主要分DDL(数据定义语言)和DML(数据操作语言)两类,create table,drop table,alter table等属于DDL,select,insert,Update,delete等属于DML。

主键选择(1) SQL Server中两种常用的主键数据类型:int(或bigint)+标识列(又称自动增长字段);uniqueidentifier(又称Guid)。

(2) 用标识列实现字段自增可以避免并发等问题,不用开发人员控制自动增长,用标识列的字段在insert的时候不用指定主键的值,将字段的”是标识列”设置为”是”,一个表只能有一个标识列。

(3) Guid算法是一种可以产生唯一标示的高效算法,它使用网卡MAC地址,纳秒级时间,芯片ID码算出来的,这样保证每次生成的GUID永远不会重复,无论是同一个计算机上还是不同的计算机,SQL Server中生成GUID的函数newid(),.NET中生成GUID的方法:Guid.NewGuid(),返回值是GUID类型。

例如:SQL Server:select newID()C#代码中:Guid id=Guid.NewGuid();(4) (*)int自增字段的优点:占用空间少,无需开发人员干预,易读。

缺点:效率低,数据导入导出的时候很痛苦。

(5) (*)Guid的优点:效率高,数据导入导出方便,缺点:占用空间大,不易读。

数据插入(1) insert语句可以省略表名后的列名,但是不推荐。

Insert into Person2values(‘lucy’,’38’)(2) 如果插入的行中有些字段的值不确定,那么insert的时候不指定那些列即可。

(3) 给字段可以设置默认值,如果Guid类型主键的默认值设定为newid()就会自动生成,很少这样干: insert into person3(ID,Name,Age) values(newid(),’tom’,30)数据更新(1) 更新一个列:update T_Person set Age=30(2) 更新多个列:update T_Person set Age=30,Name=’Tom’(3) 更新一部分数据:update T_Person set Age=30 where Name=’Tom’,用where语句表示只更新Name是’Tom’的行,注意SQL中等于判断用单个=,而不是==。

(4) where中还可以使用复杂的逻辑判断:update T_Person set Age=30 where Name=’Tom’ or Age<25. or相当于C#中的||(或者)。

(5) where中可以使用的其他逻辑运算符是:or,and,not,<,>,>=,<=,!=(或<>)等。

数据删除(1) 删除表中的全部数据:delete from T_Person。

(2) delete只是删除数据,表还在,和drop table不同。

(3) delete也可以带where子句来删除一部分数据:delete from T_Person where FAge>30。

数据检索(1) 简单的数据检索:select * from T_Employee。

(2) 只检索需要的列:select FName from T_Employee。

(3) 列别名:select FNumber as 编号,FName as 姓名 from T_Employee。

(4) 还可以检索不与任何表关联的数据:select 1+1,select newId(),select getDate()。

数据汇总(1) SQL聚合函数:max(最大值),min(最小值),avg(平均值),sum(和),count(数量)。

数据排序(1) order by子句位于select语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序(从小到大排序,ASC)还是降序(从大到小排序,DESC)。

(2) 按照年龄从大到小排序,如果年龄相同则按照工资从大到小排序select * from T_Employee order by FAge Desc,FSalary Desc(3) order by子句要放到where子句之后:select * from T_Employee where FAge>23 order by FAge Desc,FSalary Desc通配符过滤(模糊匹配)(1) 通配符过滤使用Like。

(2) 单字符匹配的通配符为半角下划线”_”,它匹配单个出现的字符,以任意字符开头,剩余部分为”erry”:select * from T_Employee where FName like ‘_erry’(3) 多字符匹配的通配符为半角百分号”%”,它匹配任意次数(零或者多个)出现的任意字符,”K%”匹配以K开头,任意长度的字符串。

检索姓名中包含”n”的员工的信息:select * from T_Employee where FName like ‘%n%’空值处理(1) 数据库中,一个列如果没有指定值,那么值就为null,这个null和C#中的null不一样,数据库中的null表示”不知道”,而不是表示没有,因此select null+1结果是null,因为”不知道”加1的结果还是”不知道”。

(2) select * from T_Employee where FName=null and select * from T_Employee where FName!=null。

都没有任何返回结果,因为数据库”不知道”。

(3) SQL中使用is null,is not null来进行空值判断。

select * from T_Employee where FName is nullselect * from T_Employee where FName is not null多值匹配(1) select FAge,FNumber,FName from T_Employee where FAge in(34,23,35)(2) 范围值:1) select * from T_Emploee where FAge>=23 and FAge<=272) select * from T_Employee where Fage Between 23 and 27数组分组(1) 按照年龄进行分组统计各个年龄段的人数:select FAge,Count(*) from T_Employee Group by Fage(2) Group by子句必须放在where语句的后面(3) 没有出现在Group by子句中的列是不能放到select语句后的列名列表中的(聚合函数除外)。

1) 错误:select FAge,FSalary from T_Employee group by Fage。

2) 正确:select Fage,Avg(FSalary) from T_Employee group by Fage。

Having子句(1) 在where中不能使用聚合函数,必须使用Having,Having要位于Group by之后。

select Fage,Count(*) as 人数 from T_Employee Group by FAge Having Count(*)>1(2) 注意Having中不能不能使用为参数分组的列,Having不能代替where,作用不一样,Having是对组进行过滤。

相关文档
最新文档