10.31
2111613王金凯
一.数据库系统和数据库设计
1、数据(Data),信息表现形式(数字、文字、图形、图像、视频、音频或动画等)
2、数据库(DataBase,DB):有组织结构的数据集合。
3、数据库管理系统(DataBase Managemen System,DBMS):是一个系统软件平台,是数据库应用系统的核心。
4、数据库应用系统(DataBase System,DBS):包括DB,OS,DBMS,APP,USER,DBA等。
5、数据模型:
层次模型
网状模型
关系模型
6、SQL Server的安装
********************************************************************************
11.02
二、系统安全管理
7、SQL Server 安全机制:
服务器安全性 (USER)
数据库安全性(USER)
数据库对象安全性(USER)
8、服务器管理:
创建登录名(CREATE Login /DataBase /Table /View /Index)
修改登录名(ALTER /Login /DataBase /Table /View /Index)
删除登录名(DROP /Login /DataBase /Table /View /Index)
9、SQL Server 数据库对象
两类:系统数据库(master、model、msdb、tempdb)
用户数据库(常规创建删除修改等操作对象)
10.数据库文件(扩展名)
3类:
主数据文件(.mdf)
辅助数据文件(.ndf)
日志数据文件(.ldf)
11.T_SQL:
创建数据库:
CREATE DATABASE
ON
(
NAME
FILEENAME
SIZE
MAXSIZE
FILEGROWTH
)
LOG ON
(
)
********************************************************************************************************
********************************************************************************************************
11.07
三、数据库和数据表的操作
12.DATABASE:(P47-3:请先在平台里运行再复制如下)
(1)创建:
CREATE DATABASE librarypm
ON PRIMARY
(
NAME='librarypm',
FILENAME='E:\My_data\librarypm.mdf',
SIZE=10MB,
MAXSIZE=200MB,
FILEGROWTH=10%
)
LOG ON
(
NAME='librarypm_log',
FILENAME='E:\My_data\librarypm.ldf',
SIZE=2MB,
MAXSIZE=50MB,
FILEGROWTH=1MB
)
(2)修改:
ALTER DATABASE librarypm
ADD FILE
(
NAME='librarypmbk',
FILENAME='E:\My_data\librarypmbk.ndf',
SIZE=10MB,
MAXSIZE=200MB,
FILEGROWTH=2MB
)
ALTER DATABASE librarypm
ADD LOG FILE
(
NAME='librarypmbk_log.ndf',
FILENAME='E:\My_data\librarypmbk_log.ndf',
SIZE=2MB,
MAXSIZE=50MB,
FILEGROWTH=1MB
)
--修改数据库名
ALTER DATABASE librarypm
MODIFY NAME=librarypm_new;
--用存储过程更改数据库名
sp_renamedb librarypm_new ,librarypm;
(3)删除
--删除数据库文件
ALTER DATABASE librarypm
REMOVE FILE librarypmbk
--删除数据库
DROP DATABASE librarypm
13.数据表(TABLE)
(1)表结构:
行:记录
列:字段(field)、空值(null)、主键/关键字(primary key)
(2)数据类型:
整数型(int)、浮点型(float)、字符型(nvarchar(n))
14.T_SQL:
(3)主键:唯一性,但是可以多列组合
(1)创建:(请先在平台里运行再复制如下)
--创建数据表(课本P56-4.1)
USE stsc
CREATE TABLE student
(
stno char(6) NOT NULL PRIMARY KEY,
stname char(10) NOT NULL ,
stsex char(2) NOT NULL,
stbirthday date NOT NULL,
specialist char(20) NULL,
tc int NULL
)
GO
USE stsc
CREATE TABLE score
(
stno char(6) NOT NULL ,
cno char(3) NOT NULL,
grade int NULL,
PRIMARY KEY(stno,cno)
)
GO
--由其他表创建新表(课本P57-4.2)
USE stsc
SELECT stno,stname,stbirthday INTO student1
FROM student
--修改表的列(增加列)
USE stsc
ALTER TABLE student1
ADD remark varchar(50)
--修改表的列(删除列)
ALTER TABLE student1
DROP COLUMN remark
课本实验4.1-2、4.1-3
--创建库
CREATE DATABASE storeexpm
ON PRIMARY
(
NAME='storeexpm',
FILENAME='E:\My_data\storeexpm.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=1MB
)
LOG ON
(
NAME='storeexpm_log',
FILENAME='E:\My_data\storeexpm_log.ldf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
--创建表DeptInfo
USE storeexpm
CREATE TABLE DeptInfo
(
DeptID varchar(4) NOT NULL PRIMARY KEY,
DeptName varchar(20) NOT NULL ,
)
--创建表EmplInfo
CREATE TABLE EmplInfo
(
EmplID varchar(4) NOT NULL PRIMARY KEY,
EmplName varchar(8) NOT NULL ,
Sex varchar(2) NOT NULL,
Birthday date NOT NULL,
Native varchar(20) NULL,
Wages decimal(8,2) NOT NULL,
DeptID varchar(4) NULL
)
--创建表OrderInfo
CREATE TABLE OrderInfo
(
OrderID varchar(6) NOT NULL PRIMARY KEY,
Emplno varchar(4) NULL ,
Curstomerno varchar(4) NULL,
Saledate date NOT NULL,
Cost decimal(10,2)
)
--创建表DetailInfo
CREATE TABLE DetailInfo
(
OrderID varchar(6) NOT NULL,
GoodsID varchar(4) NOT NULL,
Saleunitprice decimal(8,2) NOT NULL,
Quantity int NOT NULL,
Total decimal(10,2) NOT NULL,
Discount float NOT NULL,
Discounttotal decimal(10,2) NOT NULL,
PRIMARY KEY(OrderID,GoodsID)
)
--创建表CoodsInfo
CREATE TABLE CoodsInfo
(
GoodsID varchar(4) NOT NULL PRIMARY KEY,
GoodsName varchar(30) NOT NULL,
ClassificationName varchar(16) NOT NULL,
UnitPrice decimal(8,2) NULL,
StockQuantity int NOT NULL
)
sp_rename CoodsInfo, GoodsInfo
--P70(2-3)
--由已知表创建新表
USE storeexpm
SELECT *
FROM EmplInfo
SELECT EmplID, EmplName ,Sex ,Birthday ,Native ,Wages ,DeptID INTO EmplInfo1
FROM EmplInfo
SELECT *
FROM GoodsInfo
SELECT GoodsID, GoodsName,ClassificationName,UnitPrice,StockQuantity INTO GoodsInfo1
FROM GoodsInfo
--在表中添加一列
ALTER TABLE EmplInfo
ADD Eno varchar(4) NOT NULL
SELECT *
FROM EmplInfo
SELECT *
FROM GoodsInfo
ALTER TABLE GoodsInfo
ADD Gno varchar(4) NOT NULL
SELECT *
FROM GoodsInfo
--修改表列的数据类型或字段名
ALTER TABLE EmplInfo1
ALTER COLUMN Sex char(2) NOT NULL
sp_rename 'EmplInfo1.Sex' ,'S'
ALTER TABLE GoodsInfo1
ALTER COLUMN UnitPrice money
--删除表列和数据表
ALTER TABLE EmplInfo
DROP COLUMN Eno
DROP TABLE EmplInfo1
ALTER TABLE GoodsInfo
DROP COLUMN Gno
DROP TABLE GoodsInfo1
SELECT * FROM GoodsInfo