实体(对象):客观存在的事物都是实体(对象)
这些实体的信息需要按照一定的分类和规律存储
专门用于存储这些实体的信息的数据库集合,成为“数据库”
数据库的特点:
海量的存储数据,数据检索非常方便
保持数据信息的一致,完整,并实现数据的共享的安全
通过组合分析,产生新的有用的信息。
数据表是实体信息存储的基本单位
同类实体存放在同一个表中:
表:又称为实体集合
列:(字段)又称为:实体属性
不同类别的实体如何存储?
不同实体存放在不同的数据表中
不同的表,关系以及操作对象组成数据库
数据库概念的具体化:是由大量数据,表间关系,以及各种数据库操作对象组合成的一个数据集合。它不是一个简单的数据组合场所。
DBMS的概念:
是一个由用户使用的数据库管理软件,目的就是让用户通过操作数据库管理系统完成对数据库数据的处理。
DBMS的功能:
创建数据库:能够提供数据定义语言(Data Ddfination Language,简称DDL),用户利用DDL可以方便的建立数据库
操作数据库:DBMS通过提供数据库操纵语言(Data Manipulation Language,简称为DML)实现其数据的插入,修改,删除,查询,统计等数据存取及处理功能
用户:---发送命令---数据库管理系统DBMS(MS SQLServer)---建库,建对象(增,删,改,查)---数据表存储过程视图
应用程序是根据用户需求开发的具有业务逻辑的管理软件
专业人士,直接通过数据库管理系统(DBMS)管理数据表
普通用户,通过应用程序指挥DBMS完成数据处理
应用程序:
作用:向数据库发送请求,并显示响应结果
要求:美观,操作简单方便,能够按照业务需求完成数据处理
学习标准的SQL语言
SQL(Structed Query Language:结构化查询语言)
使用SQL语言可以完成所有数据库的操作
针对特定的DBMS学习如何管理数据库
数据导入,导出
数据备份,还原
数据库性能改进
将DML嵌入高级开发语言编写应用程序
基于客户端/服务器端(C/S)的桌面应用
基于游览器/服务器(B/S)的WEB应用
SQL与T-SQL
T-SQL = Transact -SQL
T-SQL是 SQL的加强版
对功能进行了扩充:如变量说明,流程控制,功能函数
T- SQL的组成
DDL(数据定义语言)
用来建立数据库,数据库对象和定义其列
CREATE TABLEDROP TABLE 等
DML(数据操作语言)
查询,插入,删除和修改数据库中的数据
SELECT,INSERT, UPDATE, DELETE 等
DCL(数据控制语言)
用来控制存取许可,存取权限等
GRANT, REVOKE 等
变量说明,流程控制,功能函数
定义变量,判断,分支,循环结构等
日期函数,数学函数,字符函数,系统函数等
数据库的种类:
Oracle
Oracle 公司的产品
产品免费,服务收费,适合大,中型企业使用
MS SQL Server (企业版 / 标准版/学习版/评估版)
针对不同用户群体的多个版本
简单易用;适合大,中,小型各类企业使用。
DB2
IBM公司的产品
支持多操作系统,多种类型的硬件和设备
高端应用
My SQL
开放源代码,跨平台性好。
在网站中应用广泛(PHP + MySQL),适合各类企业使用。
数据库服务:SQL Server (MSSQLServer)
运行在服务端的应用程序,提供数据的存储,处理和事务等
在使用DBMS的客户端之前必须首先打开该服务
打开与关闭的方式
在操作系统的服务中启动和关闭
在运行窗口中使用启动和关闭服务的命令
通过SQL Server Configuration Manager 启动和停止
启动: net start mssql server
停止: net stop mssql server
关于客户端, 服务器端的说明
客户端: 数据库管理系统(DBMS),应用程序。
服务器端:安装的数据库服务(数据库管理的核心程序)。
两者关系:客户端和服务器可以安装的时候完全分离开,一个服务器端可以被若干个客户端连接,并未其提供服务。
使用windows登录方式登录
是要能登录windows操作系统就可以登陆数据库服务器
SQL Server Management Studio
如:指向当前使用的数据库
use master
go
判断当前数据库是否存在
if exists (select * from sysdatabases where name = 'Student')
drop database StudentManageDB-删除数据库
go
-创建数据库
create database StudentManageDB
on primary
数据库分类:
通过查看对象资源管理器来区分数据库类型
(master) 保存所有数据库的信息(系统登录,配置设置,已连接的SERVER等)
( model) 创建新用户数据库的模板数据库
(msdb) 用来保存数据库备份,SQL Agent信息,DTS程序包,SQLSERVER任务等信息
(tempdb)存有临时对象,例如临时表格和存储过程
系统数据库就好比“中央管理机构”,用户数据库好比“老百姓”
数据库物理文件的组成:数据库文件 + 日志文件
数据库 : .mdf (主数据文件)--数据文件或 . ndf (次要数据文件)
日志文件 . ldf
一个数据库必须,且只能包含一个mdf,但可以有多个ndf和ldf(至少1个)
创建一个主数据文件和一个日志文件
指向当前要使用的数据库
use master
go
创建数据库
create database StudentManageDB
on primary
(
--数据库文件的逻辑名
name = 'StudentManageDB_data',
--数据库物理文件名(绝对路径)
filename = ' F:\StudentManageDB_data.mdf',
--数据库文件初始大小
size = 10MB,
--数据文件增长量
filegrowth = 1 MB
创建日志文件
log on
(
name = 'StudentManageDB_log',
filename = 'F\StudentManageDB_log.ldf',
size = 2MB
filegrowth = 1MB
)
GO
文件组类似于文件夹,主要用于管理磁盘空间,文件组分为主文件组和次文件组,日志文件不属于任何文件组
删除数据库的方法
--指向当前要使用的数据库
use master
go --------EXISTS()语句:检测是否存在
-- 判断当前数据库是否存在 StudentManageDB数据库。如果存在,则删除
if exists ( select * from sysdatabases where name = ' StudentManageDB'
drop database StudentManageDB ----删除数据库
go
drop 删除后数据库将不可恢复! 使用要谨慎!
分离数据库的必要I系那个及语法
当数据库服务运行中,通常情况下无法直接移动和复制数据库文件
所谓分离数据库就是将正在使用的数据文件解除服务的限制
exec sp_detach_db@dbname= 数据库名称
附加数据库的必要性及语法
附加数据库就是将制定位置的数据库文件加入到数据库服务中并运行
数据库只有附加后,用户才能通过DBMS操作数据
exec sp_attach_db@dbname=数据库名称,
@filename1 = 数据库主文件物理文件路径,
@filename2 = 数据库日志文件物理文件路径
--分离数据库
exec sp_detach_db@dbname = StudentManageDB
--附加数据库方法1
exec sp_attach_db@dbname = StudentManageDB,
@filename1 = 'F:\StudnetManageDB_data.mdf',
@filename2 = 'F:\StudentManageDB_log.ldf'
--附加数据库的方法2
exec sp_attach-db StudentManageDB,
'F:\StudentManageDB_data.mdf',
'F:\StudentManageDB_log.ldf'