课堂笔记-各科dbfundamental0-数据库_第1页
课堂笔记-各科dbfundamental0-数据库_第2页
课堂笔记-各科dbfundamental0-数据库_第3页
课堂笔记-各科dbfundamental0-数据库_第4页
课堂笔记-各科dbfundamental0-数据库_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SqlServer2008数据库基础DAY01DataBase

FUNDAMENTAL“数据库基本概念”23数据管理的发展知识讲解从20世纪50年代中期开始,计算机的应用由科学研究逐渐扩展到企业、行政等社会各领域,数据处理已成为计算机的主要应用领域。20世纪60年代末,数据库技术作为数据处理中的一门新技术得到了快速的发展。目前,数据库技术已经成为计算机信息系统与应用系统的主要基础和核心技术。例如:所用用户的超市的商品管理系统,使用数据库

所有商品信息银行的管理系统,使用数据库账户信息网上购物商城,使用数据库 商品信息和用41、程序管理阶段知识讲解20世纪50年代中期以前的数据管理属于程序管理阶段。这一时期的计算机主要用于科学计算。数据管理的主要特点:数据不能长期保存没有专门的

对数据进行管理数据与程序不具有独立性2、文件系统阶段知识讲解

20世纪50年代后期至60年代中后期,在硬件方面出现了外部 器,在方面出现了高级语言和操作系统。操作系统的文件系统专门用来管理外部

器上的文件,数据可以在文件中。这一阶段的数据管理的特点:数据缺乏独立性数据冗余度大数据无集中管理文件系统外部3、数据库系统阶段知识讲解20世纪60年代后期开始,数据库技术得到发展,出现专门管理数据的数据库管理

,这一阶段的数据管理的特点:实现数据共享,减少数据冗余采用特定的数据模型数据具有较高的独立性有

的数据控制功能数据库服务器6数据库系统的组成知识讲解数据库系统是指引进数据库技术后的计算机系统,主要包括:数据库管理系统(DataBase

Management

System),它为用户或应用程序提供数据,还数据之间的关专门用于建立和管理数据库的一套数据库的方法并提供各种数据控制功能数据库(DataBase)存放数据的特定文件,在数据库中除了系7实际数据库应用系统结构知识讲解应用服务器用户数据库服务器数据库(DB)数据库管理系统(DBMS)8不同的数据库产品知识讲解数据库管理系统由各大数据库厂商提供:9数据模型知识讲解10数据库结构的基础是数据模型,数据模型是一个描述数据、数据联系、数据语义及一致性约束的概念工具集合。通常由数据结构、数据操作和完整性约束三个要素组成。常用的数据模型层次模型网状模型关系模型20世纪80年代,逐步取代层次模型和网状模型关系模型知识讲解关系模型是使用二维表格的形式来表示实体和实体之间联系的数据模型。订单订单表订货日期

发货日期

顾客12011-1-2011-1-10031222011-1-2011-1-10022332011-1-2011-1-10013442011-1-2011-1-100445顾客表顾客地址100112341002abcd100312121004重庆aabb11关系模型中的重要术语知识讲解关系–

一个关系就是一个二维表格属性表中的一列称为一个属性。一般更

于称作“列”(column)或“字段”(field)。一个表中的列名不能重复。元组表中的一行称为一个元组,一般也称为“记录”12关系模型中的重要术语知识讲解主关键字(主键)–

表中的某个列或几个列的集合,用于唯一标识表中的每一行记录。–

一个表中只能有一个主键,被定义为主键的列,其值不允许有重复的值,也不能为空。关系模式关系模式

二维表的结构。一般表示为:关系名(属性1,属性2,…属性n)例如:Student(学号[PK],

)13关系模型中的重要术语知识讲解江苏20计科男籍贯系别学号主键学生信息表关系名属性名元组关系95002女信息19山东95003女数学95004张力男计科95005男物理山西属性14关系模型的重要性质知识讲解15关系中不允许出现相同的记录。可以通过添加主键进行约束。关系中记录的顺序(即行序)是无关紧要的,可以任意交换。关系中属性的顺序(即列序)是无关紧要的,可以任意交换。关系中各个属性(列名)不能同名。实体关系模型知识讲解16实体关系模型(Entity

Relationship

Model)是目前使用最为广泛的数据库设计工具,包括3个主要要素:实体、属性和联系1、实体一类具有相同属性的集合,一般一个实体可以对应一个表例如:“顾客”是一个实体,“订单”是一个实体实体的表示:使用矩形框表示,框内标注实体的名称顾客学生订单实体关系模型知识讲解2、属性主要

实体的属性(表中的列)属性使用椭圆表示,里面标注属性名称,并用连线和相应的实体连接起来顾客顾客地址顾客表顾客地址100112341002abcd100312121004重庆aabb17实体关系模型知识讲解3、关系表示实体之间的关系使用菱形框表示,框内标注联系名称,并用连线分别与实体相连顾客订单产生18n1关系范式知识讲解关系范式是设计数据库中表的基本原则。其基本思想是消除关系中的数据冗余,消除数据依赖中的不合适部分,以解决数据

、更新、删除操作中的异常问题。19关系范式—1NF知识讲解第一范式( Normal

Form)如果关系R的所有属性都属于简单属性,即每个属性都是不可再分的,则称R属于第一范式(1NF)。简单的说就是表中的每一列都是不可分割的基本数据项,也即同一列中不能有多个值在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库1NF:每个属性都是不可再分20关系范式—2NF知识讲解21第二范式(Second

Normal

Form)–

如果关系R属于第一范式,并且每个不包含在主键中的属性都完全函数依赖于R的主键,那么称R属于第二范式(2NF)–简单的说就是满足第二范式必须先满足第一范式,要求数据表中要有主键来区分每一行记录,并且表中除主键以外的其他列要与主键有直接的关系2NF:存在主属性(主键)关系范式—3NF知识讲解第三范式(Third

Normal

Form)–

如果关系R属于2NF,并且每个不包含在主键中的属性都不传递函数依赖于R的主键,那么称R属于第三范式(3NF)–简单的说就是必须先满足第二范式,要求一个数据库表中不包含已在其他表中已包含的非主关键字信息,或者通俗的说,如果一个表要

另外一个表中的列,必须那个表中主键的那列。3NF:解除非主属性之间的依赖关系!22“”23SqlServer2008数据库管理系统SQLServer2008数据库简介知识讲解SQL

Server安装后,默认包含4个系统数据库,负责数据库的管理和运行

。1、master:最重要,记录了管理SQLServer系统所需的所有信息,包含所有的登陆信息、系统设置信息、初始化信息和其他系统数据库及用户数据库的相关信息。2、model:数据库模板,建立新数据库时使用。3、msdb:用来记录SQL

Server

程序服务项目,如工作项目、警报和作业等。4、tempdb:包含了所有的临时数据表与临时 程序等24SQLServer2008数据库简介知识讲解对于初学者来说,要注意:一般情况下,

自己定义的表放在系统数据库中对系统数据库中的表、视图等数据库对象及其内容不要进行删除和更改25“数据库的创建(Data

Base)(Create)”26创建数据库的方法知识讲解使用管理平台可视化方法使用模板完全手工编写SQL代码注:本章只讲第法271、手动创建一个文件夹,用以存放数据库的物理文件如:F:\SQLServer\student2、在“对象资源管理器”窗口,选择“数据库”,点击鼠标右键,选择“新建数据库”代码实践实例1:创建数据库student283、弹出“新建数据库”窗口,在“常规”选项页中填写设置属性后,点击“确定”按钮即可代码实践实例1:创建数据库student4、“常规”选择页详解(1)数据库名称——student–

不能与现有的数据库重名可以使用字母、数字、下划线数据库名称填好以后,数据库文件中逻辑名称自动填好代码实践实例1:创建数据库student自动填好默认即可逻辑名称平时用的比较少,主要是文件时使用(2)文件类型–

一个数据库至少包含两个文件:一个是主要数据文件,另外一个是日志文件数据文件主要用于数据,在只有一个数据文件的情况下,必须把它放在主文件组中,称作主要数据文件,生成的物理文件扩展名为MDF(main

datafile)日志文件主要用于记录数据库的操作信息,当数据库出现问题时,可以借助日志文件进行数据恢复,日志文件不属于任何文件组。日志文件生成的物理文件扩展名为LDF(log

data

file)代码实践实例1:创建数据库student在只有这两个文件的情况下,文件类型不允许更改(3)文件组主要为了管理、分配数据文件主文件组只有一个,是系统默认提供的,叫做PRIMARY在只有一个数据文件的情况下,必须把这个数据文件放在主文件组中,这个文件称作“主要数据文件”,扩展名为MDF主文件组中可以放入多个数据文件,但只有第一个数据文件产生扩展名为MDF的物理文件,其他添加的数据文件,即使放在主文件组中,产生的物理文件扩展名为NDF的次要文件。(也就是一个数据库只能有一个主要数据文件)次文件组–

可以有多个,需要自己创建代码实践实例1:创建数据库student(3)文件组代码实践实例1:创建数据库student注意:日志文件不放入任何文件组(4)初始大小–

指明该文件一开始创建时候的大小,也就是该文件默认能够容纳多少数据–

单位为MB代码实践实例1:创建数据库student(5)自动增长–

的数据超过文件初始大小时,文件以什么样的方式进行增长,并且增长有没有限制代码实践实例1:创建数据库student(6)路径指明物理文件存放路径,默认路径

C:\ProgramFiles\ SQL

Server\MSSQL.1\MSSQL\Data改成自己刚才创建的文件夹F:\SQLServer\student说明:在学习中,为了管理文件方便,把数据文件和日志文件统一放在一起;但在实际中出于安全性考虑,一般不把两种文件放在一起。代码实践实例1:创建数据库student–

更改物理文件存放路径代码实践实例1:创建数据库student(7)文件名–

物理文件名称,在创建时不能填写。数据库创建好后,查看属性时自动填好。代码实践实例1:创建数据库student5、数据库创建好后,可以在“对象资源管理器”中看到student数据库代码实践实例1:创建数据库student6、查看和修改数据库属性代码实践实例1:创建数据库student–

在“文件”选择页中,可以修改数据库的属性代码实践实例1:创建数据库student–

文件名自动填充好代码实践实例1:创建数据库student7、查看物理文件–

路径:F:\SQLServer\studentmdf文件:主要数据文件ldf文件:日志文件注意:一个数据库至少要有这两个文件代码实践实例1:创建数据库student项目案例创建数据库student注:独立完成student数据的创建理解每一步操作的含义代码实践课堂练习数据库

结构知识讲解逻辑

结构物理

结构逻辑

结构知识讲解指的是数据库由哪些性质的信息所组成,如:表、视图、索引、函数、过程等,分别用来特定信息并支持特定功能,构成数据库的逻辑结构简单的说,对象就是逻辑在管理器中看到的、操作的数据库结构。46物理

结构知识讲解数据库文件如何在磁盘上–

主数据文件(MDF)事务日志文件(LDF)辅助数据文件(NDF)47要求–

创建2个文件组worker1和worker2除了默认数据文件外,再创建3个数据文件worker1、worker2、worker3,其中,worker1文件放在worker1文件组中,worker2文件放在worker2文件组中,worker3文件放在PRIMARY主文件组中。创建2个日志文件loga和logb代码实践48实例2:创建数据库worker步骤–

1、手动创建一个文件夹,用以存放数据库的物理文件如:F:\SQLServer\worker2、在“对象资源管理器”窗口,选择“数据库”,点击鼠标右键,选择“新建数据库”3、在“文件组”选择页中添加文件组worker1和worker24、在“常规”选择页中创建文件,并分配文件组创建数据文件创建日志文件代码实践实例2:创建数据库worker步骤–

5、文件属性设置对于初始大小和自动增长可以采用默认值或自行调整把所有的文件都放在F:\SQLServer\worker文件夹中6、数据库创建成功7、查看物理文件代码实践实例2:创建数据库worker本章小结知识讲解数据库系统的基本概念实体联系模型三个范式SQL

Server2008的系统数据库mastermodelmsdbtempdb使用管理平台创建数据库主要数据文件事务日志文件“数据库的基本操作(1)”5253–打开“模板资源管理器”窗口代码实践实例1:使用模板创建数据库代码实践实例1:使用模板创建数据库双击–模板自动生成的代码代码实践实例1:使用模板创建数据库–修改代码如下:代码实践实例1:使用模板创建数据库–选中执行代码代码实践实例1:使用模板创建数据库–代码执行成功代码实践实例1:使用模板创建数据库–需要刷新数据库代码实践实例1:使用模板创建数据库–保存SQL代码实践实例1:使用模板创建数据库–说明:(1)如何显示行号代码实践实例1:使用模板创建数据库–说明:(1)如何显示行号代码实践实例1:使用模板创建数据库–说明:(2)注释单行注释:两个减号--多行注释:/*

*//*注释内容*/代码实践实例1:使用模板创建数据库SQL简介知识讲解Structured

Query

Language,结构化查询语言。是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言,使用它可以完成对数据库的操作。在SQLServer中使用的是Transact-SQL,简称T-SQL65实例1-2:创建数据库Library创建文件夹library,用于存放物理文件点击

中的“新建查询”按钮代码实践实例2:手工编写SQL代码–在空白的SQL编辑窗口中输入如下代码:代码实践实例2:创建数据库Library–选中并执行代码,刷新后看到数据库创建成功代码实践实例2:创建数据库Library“”表的创建(Table)

(Create)创建表的方法知识讲解69使用管理平台可视化方法使用模板完全手工编写SQL代码代码实践使用管理平台可视化方法创建表实例2-1:在student数据库中创建学生信息表studentinfo,信息如下:列名数据类型是否可空其他学号varchar(10)否主键varchar(20)否int是住址varchar(50)是70代码实践使用管理平台可视化方法创建表代码实践填写列的信息使用管理平台可视化方法创建表设置主键保存代码实践创建成功使用管理平台可视化方法创建表74代码实践向表中添加记录使用管理平台可视化方法创建表75代码实践使用管理平台可视化方法创建表代码实

输入如下信息践76使用模板创建表实例2-2:在worker数据库中创建workerinfo表,信息如下:列名数据类型是否可空其他工号varchar(10)否主键varchar(20)否工龄int是varchar(20)是代码实践77双击使用模板创建表78代码实践模板自动生成的代码使用模板创建表79代码实践修改代码如下:使用模板创建表80代码实践使用模板创建表选中执行代码实践81使用模板创建表创建成功代码实践82完全手工编写SQL代码创建表实例2-3:在数据库Library中,创建Customer表(顾客表)、Book表( 表)、Rental表(借阅事务表)代码实践83完全手工编写SQL代码创建表代码实践84“”85使用SQL向表中数据(Date)(知识讲解1、向所有列

数据insert

into

表名values(列值1,列值2,……)学号住址studentinfo00419海淀861、向所有列数据实例3-1insert

into

studentinfovalues(‘004’,‘

’,19,‘ 海淀’)代码实践87知识讲解注意:into关键字可以省略列值的顺序、类型、个数要与表格结构匹配只要有一列数据出现错误,整行数据都不会,也就是不会出现只

半行或几列数据的情形每一条insert语句只 一行记录,如果插入多条记录要写多条语句。(后面在高级语句中会讲到insert和select结合使用可以一次 多条记录)1、向所有列

数据881、向所有列

数据实例3-2、向Customer表添加记录代码实践89使用

select

*

from

Customer

查看结果1、向所有列

数据代码实践90实例3-3、向Book表添加记录1、向所有列

数据代码实践911、向所有列

数据使用

select

*

from

Book

查看结果代码实践92知识讲解2、向指定列

数据insert

into

表名(列名1,列名2,……)values(列值1,列值2,……)学号住址studentinfo93知识讲解2、向指定列

数据实例3-4insert

into

studentinfo(学号,

)values(‘005’,‘

’)94知识讲解注意:into关键字可以省略不提供值的列一定是可以为空的列(null)列名的顺序可以与表结构中的顺序不同,只要列值的顺序与之对应就行insert

studentinfo( ,学号)

values(‘

’,‘006’)2、向指定列

数据952、向指定列

数据实例3-5代码实践963、其他问题1、对于标识列,因为是自动增长的,所以不能指定值实例3-6代码实践知识讲解973、其他问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论