第九章 SQL Server的简单应用

 

9。1 数据库的创建与管理

 

一、数据库的创建

CREATE DATABASE 教师库 --逻辑名

ON

(NAME ='教师库_Data', --物理名

FILENAME='D:\教师库_Data.MDF' , --物理位置

SIZE = 2, FILEGROWTH = 10%) --分配空间,增长速度

LOG ON

(NAME ='教师库_Log',

FILENAME='D:\教师库_Log.LDF' , SIZE = 1, FILEGROWTH = 10%)

GO

采用默认方法:create database 数据库名,则默认的空间大小为1MB,并且按10%的速度自动增长。

二、数据库的查看与修改

1、使用企业管理器查看

2、使用T-SQL语句:利用存储过程。

SP_helpdb [数据库名]:查看服务器上的数据库信息

Sp_databases:与

SP_helpfile:查看当前数据库中文件的信息(数据文件与日志文件)

3、T—SQL语句:

alter DATABASE 教师库 --逻辑名

modify file

(NAME ='教师库_data', --物理名

maxSIZE =4, FILEGROWTH = 5%) --分配空间,增长速度

GO

sp_helpdb 教师库

三、数据库的删除

drop database 教师库

四、备份数据库

掌握企业管理的方法

 

9。2       表的创建与管理

一、表的创建

1、企业管理器方法

2、T-SQL语句的方法

CREATE TABLE教师(

[教师ID] [char] (10)  NOT NULL ,

[教师姓名] [nvarchar] (50)  NULL ,

[出生年月] [smalldatetime] NULL ,

[性别] [nvarchar] (50)  NULL ,

[职称] [nvarchar] (50)  NULL ,

[工资] [money] NULL ,

[系ID] [char] (10)  NULL ,

CONSTRAINT [PK_教师] PRIMARY KEY  CLUSTERED

([教师ID])  ON [PRIMARY] ,

CONSTRAINT [FK_教师表_系] FOREIGN KEY      ([系ID]) REFERENCES [系表] ([系ID])) ON [PRIMARY]

GO

二、修改表、删除表

P:241,表结构的修改——尽量在表中无数据的时候修改列,增加列时,该列要保证有允许空值。

三、视图的创建

1、企业管理器中创建

2、T-SQL语句建立

CREATE VIEW 任课视图

AS

SELECT 教师表.*, 课程名称

FROM 教师表 RIGHT  JOIN

教师任课表 ON 教师表.教师ID = 教师任课表.教师ID

9。3       索引的创建与管理

一、索引的概念

1、索引是在基本表的列上建立的一种数据库对象,一个指向表中数据的指针。

2、索引的作用:是改善数据库性能的最常用的技术。——在查找中加快速度。

3、SQL-Server的索引建立好后,由系统自动选择和维护。

二、索引的创建

索引的建立应该注意P:245

1、基本表的记录数量越多,越要建立索引

2、索引的建立会影响基本表的更新活动。只有对数据量大、查询频度较高、实时性要求强的基本表才创建索引。

3、索引是建立在基本表列上的对象,一般可以根据列在where order by group by 子句中出现较高的列来建立索引。

下面情况尽量不建立索引P:246

4、可以使用企业管理器或T-SQL语句来建立

create unique index 姓名 on 教师表(教师姓名)——索引名不能重复

例P:248,例9-2

三、索引的分类

1、从列的角度上分:

(1)单列索引:单列索引是对表中某一单独的列进行索引,是最简单最常用的索引,通常对主关键字列建立单列索引。

(2)唯一索引:可在一个或多个列上建立。不允许在此列上有重复的列值。作用是能提高查询速度,还可维护数据完整性。

(3)复合索引:对两个以上的列建立索引。

2、从是否改变表中记录的物理位置角度可分为:

(1)聚集索引:聚集索引的表按该列值表中的记录会重新排列(物理位置重新排列)

(2)非聚集索引:表中记录不改变其物理位置,而是仍按实际录入的先后顺序排列。在非聚集索引使用时,再按改变其逻辑位置。——实际上非聚集索引只是建立一个排列的指针。所以需要更多的空间。

(3)聚集索引与非聚集索引的区别:P:246~247——聚集索引的存取速度要比非聚集索引快、但一个表中只能建立一个聚集索引,即可建立最多249个非聚集索引。一个表中可同时有聚集索引与非聚集索引。

四、索引的删除

DROP INDEX 索引名

 

9。4       T—SQL的编程基础

一、程序注释语句

--:单行注释;

/*。。。。*/:多行注释。此多行注释中不能包括go语句。

二、变量

1、分类:局部变量@与全局变量@@

2、局部变量使用前要先定义,赋值、再使用

declare @变量名 数据类型——每次可定义多个变量

set|select @变量名=常量

(1)set 与select 赋值的区别为:set 只能一次一个变量,select 则可以一次给多个变量赋值。

(2)变量赋值时要注意数据类型要匹配。

例:P:251 例9-3,9-4,9-5,9-6

三、

四、程序结构

1、if …else 结构——条件分支结构

(1)if  逻辑表达式

单条语句or  begin…end 语句组(多条语句)

else

单条语句or  begin…end 语句组(多条语句)

课本P:253 例7

例1:查询某个教师是否是高级职称

use 教师库

go

declare @myN char(8)

set @myN='周建林'

if (select 职称 from 教师表 where 教师姓名=@myNO)='教授' or (select 职称 from 教师表 where 教师姓名=@myNO)='副教授'

print @myN+'是高级职称!'

else

print @myN+'不是高级职称!'

例2:查看周建林老师的工资是否大于2000,如果大于,则显示‘工资大于2000’,否则加到2000。

use 教师库

go

declare @myN  char(8)

set @myN='周建林'

if (select 工资 from 教师表 where 教师姓名=@myNO)>=2000

print @myN+'的工资已过2000!'

else

begin

update 教师表 set 工资=2000 where  教师姓名=@myNO

print @myN+'工资已加到2000!'

end

(2)分支嵌套:P:254 ,例9-8

2、CASE多重分支结构

有两种结构P:255

例1:select 教师姓名,出生年月,年龄层次=

case

when 出生年月<'1950-01-01' then '老'

when 出生年月 between '1950-01-01'and '1969-12-31' then '中'

else        '青'

end

from 教师表

例2;

--use xs

select 教师姓名,出生年月,年龄层次=

(

case

when 出生年月<'1950-01-01' then '老'

when 出生年月 between '1950-01-01'and '1969-12-31' then '中'

when 出生年月>'1970-01-01' then '青'

else        ' '

end

),

工资层次=

(

case

when 工资<1000 then '低'

when 工资 between 1000 and 2000 then '中'

when 工资>2000 then '高'

else        ''

end

)

from 教师表

3、while 循环结构:

语法结构P:256

while 逻辑表达式

begin

T-SQL语句组

[break]——无条件终止整个循环语句,即跳出循环

[continue]——结束本次循环,回到while处再判断是否重新开始下一次循环

end

例:declare @a int ,@b int ,@c int

select @a=1,@b=1,@c=20

while @c>0

begin

set @b=@b+3

set @a=@a+@b

if @b<10

continue

set @c=@c-5

select  @a,@b,@c  

end

Q1:循环几次?(2+4)

Q2:写出每次循环后abc的值各为多少?

例:9-11(课本P:256)

4、return返回语句

作用:在批处理、语句块或存储过程中,使用return可以从当前程序中退出,其后的语句将不会执行。如在上例加入return

例:declare @a int ,@b int ,@c int

select @a=1,@b=1,@c=20

while @c>0

begin

set @b=@b+3

set @a=@a+@b(此后加入 select  @a,@b,@c  return,结果又如何?)

if @b<10

continue

set @c=@c-5

select  @a,@b,@c  

end

课堂作业P:课本P:285 三:3、4、5

五、游标

1、                      定义:交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行作为个性化处理。游标就是提供这种机制的结果集扩展。游标是结果集的逻辑扩展,它使应用程序得以逐行处理结果集。

2、                     请求游标

Microsoft® SQL Server™ 2000 支持两种请求游标的方法: Transact-SQL

及数据库应用程序编程接口(API)游标函数 (我们只讨论后者)

对根据 SQL-92 游标语法制定的游标,Transact-SQL 语言支持使用它们的语法

3、                       标准的SQL-92 语法定义游标:P:260

DECLARE cursor_name (游标名字)[ INSENSITIVE ] [ SCROLL ] CURSOR
FOR select_statement (必选子句)
[ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]

说明:(若时间关系可以不讲)

A、INSENSITIVE

定义一个游标,以创建将由该游标使用的数据的临时复本。对游标的所有请求都从 tempdb 中的该临时表中得到应答;因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。使用 SQL-92 语法时,如果省略 INSENSITIVE,(任何用户)对基表提交的删除和更新都反映在后面的提取中。

B、SCROLL

指定所有的提取选项(FIRST、LAST、PRIOR、NEXT、RELATIVE、ABSOLUTE)均可用。如果在 SQL-92 DECLARE CURSOR 中未指定 SCROLL,则 NEXT 是唯一支持的提取选项。如果指定 SCROLL,则不能也指定 FAST_FORWARD。

C、select 语句:定义游标结果集

D、UPDATE 定义游标中可更新的列

例9-13,例9-14

4、              从游标中检索行的操作称为提取。提取选项如下:

l         FETCH FIRST :提取游标中的第一行。

l         FETCH NEXT :提取上次提取行之后的行。

l         FETCH PRIOR :提取上次提取行之前的行。

l         FETCH LAST :提取游标中的最后一行。

l         FETCH ABSOLUTE n :如果 n 为正整数,则提取游标中从第 1 行开始的第 n 行。如果 n 为负整数,则提取游标中的倒数第 n 行。如果 n 为 0,则没有行被提取。

l         FETCH RELATIVE n :提取上次所提取行之后的第 n 行。如果 n 为正数,则提取所上次提取行之后的第 n 行。如果 n 为负数,则提取上次所提取行之前的第 n 行。如果 n 为 0,则同一行被再次提取。

注意:(1)打开游标时,游标中当前行的位置逻辑上应位于第一行之前。这使不同的提取选项具有下列行为,如果这是打开游标后的第一次提取操作:

FETCH FIRST :提取游标中的第一行。

FETCH NEXT:提取游标中的第一行。

FETCH PRIOR :不提取行。

注意:(2)Transact-SQL 游标限于一次只能提取一行。API 服务器游标则支持每次提取时提取一批行。支持一次提取多行的游标称为块状游标。

Transact-SQL 扩展语法增加了很多参数,基本语句是一样的。(有时间的同学可以自己查看SQL的帮助系统)

例1:定义一个游标,名为。。。,并从教师表中获取的数据行集以填充该游标

DECLARE teacher CURSOR(没scroll参数,这是个只进游标,只能有first next操作)

FOR SELECT * FROM 教师表 order by 出生日期

OPEN teacher  —在应用中游标只打开一次就可以了,打开后游标指在第一条记录前

go

select * FROM 学生表

go

FETCH NEXT FROM stu  --取得第一条记录信息

go

FETCH NEXT FROM stu  --取得第一条记录信

Go

5、    游标可以按照它所支持的提取选项进行分类:

(1)只进

必须按照从第一行到最后一行的顺序提取行。FETCH NEXT 是唯一允许的提取操作。

在声明游标时未选用scroll参数时建立的游标就是只进游标,

(2)可滚动性

可以在游标中任何地方随机提取任意行。允许所有的提取操作(但动态游标不支持绝对提取)。

可滚动游标对支持联机应用程序特别有用。可将游标映射为应用程序中的表格或列表框。随着用户向上、向下和在整个表格中滚动,应用程序使用滚动提取从游标中检索用户想要查看的行。

例2:

declare pass scroll cursor for select * from 成绩表 where 成绩>60 order by 课程号,成绩   --定义一个滚动游标,其内结果集为成绩表中及格的同学记录

open pass

fetch first from pass –第一条记录

fetch next from pass  第二条记录

fetch last from pass  最后一条记录

FETCH PRIOR from pass 倒数第二条记录

6、    游标进程

Transact-SQL 游标和 API 游标有不同的语法,但下列一般进程可用于所有 SQL Server 游标:

A.    把游标与 Transact-SQL 语句的结果集相关联,并且定义游标的特征,如是否能够更新游标中的行。(声明游标)

B.    执行 Transact-SQL 语句以填充游标。(声明游标)

C.              检索想要查看的游标中的行。从游标中检索一行或多行的操作称为提取。执行一系列的提取操作以向前或向后检索行的操作称为滚动。

D.    根据需要,对游标中当前位置的行执行修改操作(更新或删除)。

E.     关闭游标。

例3  :

declare in_c1  cursor for select 教师姓名,职称,工资 from 教师表 order by 工资 for update of  工资open in_c  ——声明一个只进游标,但可以更新工资列。

declare @nin money ,@name char(8),@zc char(10)  --定义变量

fetch next from in_c  into @name,@zc,@nin   --从游标中取得第一记录内容存入变量

while @@fetch_status=0  --判断获取是否成功,即记录是否取得完成

begin

if @zc='教授'or @zc=’副教授’

update 教师表 set 工资=工资+200 where current of in_c

else

update 教师表 set 工资=工资+100 where current of in_c

fetch next from in_c  into @name,@zc,@nin   --再次取数据,这条语句不可少,否则end                                      无法循环。

Go

Close in_c1  ——关闭游标

——这只是一个范例,采用遍历表的方式对数据表中的所有记录进行扫描更新,对大型库这个程序执行时间要考虑好。

7、  打开游标、 关闭游标、释放游标

open               close       deallocate

注意关闭与释放的区别P:261

8、  使用游标取数:

fetch…..from  游标  into @变量(表)

注意:INTO允许将提取的数据放入变量表中,各变量的数据类型要与游标选择列表中的相同。同时变量的数目要与列表中列的数目一样。

9、  与游标相关的系统全局变量:

A、@@fetch_status:返回FETCH语句的最后状态  0——表示获取成功,-1——表示获取失败或此行不在结果集中,-2表示被提取的行不存在。

B、@@cursor_rows:返回本次在服务器连接中打开游标取回的数据行的数目。

例:fetch first from pass

fetch next from pass

select @@fetch_status  --返回0

fetch last from pass

fetch next from pass

select @@fetch_status   --返回-1

select @@cursor_rows   --返回10

例9-12:为了实现表9-2的结果,可使用游标编写以下代码:

USE xs          --打开"教学管理"数据库

--创建"T学生表"

create TABlE 学生表(序号 int ,学号 char(8),姓名 char (8),年龄 int)

DECLARE @I int          --声明计数器变量

--声明MyN0,MYName,MyAge变量用于存储学号、姓名、年龄字段信息1

DECLARE @MyN0 char(8),@MYName char(8),@MyAge int

DECLARE MyCursor SCROLL CURSOR      --定义游标,游标名为MYcursor

FOR SElect 学生证号,姓名,年龄 FROM 学生基本信息表ORDER BY 年龄

OPEN MyCUrsor       ---打开游标

SET @I=1        --计数器设初值1

FETCH FIRST FROM MyCursor

into @MyN0,@MYName,@MyAge   --取"学生表"第一行记录,并对变量赋值

--通过@@fetcj_STATUS系统全局变量,判断是否到"学生表"的尾部,否则开始循环

While @@FETCH_STATUS =0

begin

INSERT INTO 学生表(序号,学号,姓名,年龄) ---向"学生表'中插入数据

VALUES(@I,@MyN0,@MYName,@MyAge)

fetch NEXT FROM MyCursor INto @MyN0,@MYName,@MyAge      ---取下一行记录

SET @I=@I+1             --计数器值加1

End

close MyCursor          --关闭并释放游标

DEALLOCATE MyCursor

SElect *  FROM 学生表   --一查询"T学生表"数据

DROP TABLE T学生表       --删除'T学生表"

GO

10、  利用游标修改数据:

(1)、更新操作:

update 表名 set 列名= 表达式  where current of 游标名

(2)、删除操作:

delete from 表名  where current of 游标名

current of 游标名:指对当前游标数据行操作

例9-15

六、事务

1、事务的作用:

transaction是并发控制的基本单位。SQL Server通过事务机制,将逻辑相关的一组操作捆绑在一起,以便服务器保持数据的完整性

例9-16,9-17

事务机制的的解决方法:要么全部处理,要么全都不处理。

2、事务处理控制语句

begin tain  ---开始一个事务名

commit tain ——提交一个事务

rollback ——回滚一个事务。(在发生情况时,撤消提交)

例9-18

9。5       存储过程

一、存储过程(stored procedure)

1、存储过程是一组预先编译好的T-SQL代码。

2、存储过程的作用P:265

二、创建存储过程

1、系统存储过程以SP_或DT_开头

2、创建存储过程的语法:P:266

create procedure 存储过程名

AS

Select 语句

例9-19

例:CREATE PROCEDURE xs AS select * from 学生表

三、执行存储过程

在查询分析器中使用。当是第一条语句时,可以直接用存储过程名,否则之前加上exec 。

如:exec xs

四、修改存储过程

alter procedure 存储过程名  AS select 语句

例:alter procedure xs as select 学号,姓名 from 学生表

五、删除存储过程

drop procedure 存储过程名

9。6       触发器

一、定义:

触发器是一种特殊的存储过程。它与表紧密相连,主要用来保证数据的完整性。

二、触发器的建立

1、语句:P:269

create trrigger 名 on 表名 for [insert | delete | update ]

AS

SQL语句

2、例1

create trigger mytr on spk1 for delete  设置一个删除触发器

as

declare @OID char(10)  --定义一个变量,用于从逻辑表中存储被删除的记录信息

select @OID=商品代号 from deleted   --从逻辑表中检索被删除的商品代号

delete from spk2 where 商品代号=@OID

GO

delete from spk1 where 商品代号='DSJ-120'--此条语句执行后,相应的在SPK2中的DSJ-120记录也被删除。

例2:建立一个更新触发器

create trigger mytr on spk1 for  update  设置一个触发器,相连删除与插入操作

as

declare @OID char(10)  --定义两个变量,用于存储被删除的记录信息

declare @NID char(10)  --存储被插入的记录信息

select @OID=商品代号 from deleted

select @NID=商品代号 from inserted

update spk2 set 商品代号=@NID where 商品代号=@OID

return   ---返回语句

update spk1 set 商品代号='DSJ-111' where 商品代号='DSJ-120'

练习:仿上面两个例子,建立一个插入记录的触发器

3、触发器的建立必须是批处理中的第一条语句。触发器建立好后,由SQL Server系统自动执行。(与索引一样)

一个表中可以建立很多个触发器。一般一种操作建立一个。

三、删除触发器

drop trigger 触发器名

四、修改触发器:与建立语句一样。

 

9。7 数据库完整性管理

SQL SERVER实施完整性的主要途径

P:271 表9-3

数据完整性是指存储在数据库中的数据的正确性和相容性,以防止不符合语义的数据进入数据库。

数据完整性分为:实体完整性、值域完整性、参照完整性、用户定义的完整性。SQL Server可以用以下的途径来实施数据完整性:

约束(Constraint)

–     标识列(Identity Column)

–     默认值(Default)

–     规则(Rule)

–     触发器(Trigger)

–     数据类型(Data Type)

–     索引(Index)

–     存储过程(Stored Procedure)

这些途径使用时可以用在数据完整性的多方面。

•     考试重点表9-3(P271

一、    使用约束实施数据的完整性

在第四章曾提过:约束是限制用户输入到表中的数据的值的范围,一般分为列级约束与表级约束。

列级约束有六种:主键Primary key、外键foreign key 、唯一 unique、检查  checck 、默认default 、非空/空值 not null/ null

表级约束有四种:主键、外键、唯一、检查

(一)建立的语法格式:

A、在利用T-SQL语句建立表时加入约束,分为列级约束与表级约束

CREATE TABLE 表名(

字段名1  数据类型  constraint 约束名 约束类型(受约束字段),--列级约束

。。。。

constraint 约束名 约束类型(受约束字段)      ---表级约束

B、表已建立好的基础上,增加约束:

Alter table 表名 add constraint 约束名(受约束字段名或表达式)

例1:create table xsb(

xh char(8) constraint PK_xh primary key  constraint FK_xh references 学生表(学号) ,  --主键、外部键列级约束——外部键只在表定义时才给出)

xm char(6) constraint UN_xm unique  constraint n_n  not null, --唯一性、非空列约束

xb char(2) constraint CH_xb check (xb='男'or xb='女')  --检查列级约束

)

Q1:在第四章讲到标准的SQL语句建表时的加入以上约束是如何写的?

create table xsb(

xh char(8)   primary key  references 学生表(学号) ,  --主键、外部键列级约束--外部键只在表定义时才给出)

xm char(6)  unique not null,       --唯一性列约束,非空列约束

xb char(2) check (xb='男'or xb='女')  --检查列级约束

)

Q2:对比两种写法,有何不同?

——T-SQL中增加了constraint 约束名 ,即使用T-SQL的写法,表中的每个约束都会有按给定的名字,而标准的SQL语句创建的表,其约束名是系统给出。

 

例2:若表已建立好但没有加任何约束,则可以用下面的语句:

alter table xsb add constraint PK_xh primary key(xh) ——对主键字段,建立时必须为非空

alter table xsb add  constraint ch_xb check (xb='男'or xb='女')  --增加

alter table xsb add constraint un_xm unique(xm)

alter table xsb add constraint DF_xb default '男' for xb  --增加默认约束

(二)删除的语法格式:

删除约束:ALTER TABLE DROP CONSTRAINT 约束名

(三)注意事项

1、约束建立时会自动建立索引的有主键(建立聚集索引)、unique(建立非聚集索引)

2、建立主键约束的字段一定要非空,而建立唯一约束的字段最好也规定为非空;

3、default不能放在标识列字段或时间戳数据类型(它们会自动加入数据)

二、    使用规则实施数据的完整性

建立规则——绑定规则到具体表中某列——解除绑定——删除绑定

create rule sex

as @sex='男'or  @sex='女'   ――建立一个规则,它可以用在该数据库的任何表。

sp_bindrule sex ,'xsb.xb '草药 ―将此规则绑定在xsb中的xb列,可同时绑定在多个表中

sp_unbindrule 'xsb.xb '                ――解除梆定在xsb中的xb列的规则

drop rule sex   --删除规则,但在删除前要确定已解除了所有绑定。

三、    使用默认实施数据完整性

与绑定相似。

9。8  SQL Server数据库安全性管理

SQL Server提供了内置的安全性和数据保护机制,归纳为四种:客户端的操作系统安全、数据库的登录安全、数据训使用安全和数据库对象的使用安全。

依赖账户管理来实现。——SQL server登录账号与集成的Windows登录账号码P:277

登录后,则依赖用户账号和登录账号之间的关系来实现数据库访问P:279

 

 

总结第九章

一、T-SQL的语句

1、建立命令:

database  name   P:231

table        name

create      view              name  as  SQL 语句

proc  name  as  SQL语句

trigger 触发器名  on 表名 for 操作 AS  SQL语句

index  索引名 on  表名 P:248

rule 规则名 AS 条件表达式   P:275

default 默认名 AS  默认值

例:

2、修改命令:

datebase 数据库名 modify file (  ) P:235

alter    table 表名 add 列名 数据类型  |  drop  column列名

proc 存储过程名 AS  SQL语句

3、删除命令:

database 数据库名

drop         table 表名

index 索引名

proc 存储过程名

trigger 触发器名

4、定义变量命令与定义游标命令

declare @变量名 数据类型

declare 游标名 cursor  for  SQL语句

5、编程语句:

(1)IF 。。。else

(2)case

(3)while

(4)begin …end

(5)return

6、约束的建立与修改

7、 概念:

(1)索引的概念、分类

特点是聚集索引与非聚集索引的区别

(2)游标的概念

(3)触发器

(4)存储过程:

转载于:https://www.cnblogs.com/veryverygood/archive/2006/01/16/318324.html

第九章 SQL Server的简单应用相关推荐

  1. 第九章 SQL查询数据库(一)

    文章目录 第九章 SQL查询数据库 查询类型 使用SELECT语句 SELECT子句的执行顺序 选择字段 JOIN操作 选择大量字段的查询 定义和执行命名查询 创建查询和调用 类查询 第九章 SQL查 ...

  2. 第九章 SQL查询数据库(二)

    文章目录 第九章 SQL查询数据库(二) 调用用户定义函数的查询 查询串行对象属性 查询集合 使用说明和限制 调用文本搜索的查询 伪字段 查询元数据 快速查询 查询和企业缓存协议Enterprise ...

  3. c井语言和SQL第一章上机1,第一章 SQL Server 数据库基础复习内容(上机)

    上机课程总目标 在本学期中,将模拟开发一套学员信息管理系统,用来管理学员的个人基本资料,老师资料,学生成绩,课程信息等教学相关内容,以实现学校的信息自动化,提高工作效率. 该系统包括学生档案管理.学生 ...

  4. 数据库 查询计算机系姓王,数据库上机实验报告——SQL Server 2008 简单查询.doc

    实验题目SQL Server 2008 简单查询实验时间2016年5月13日实验地点T616实验成绩 实验性质□验证性 √设计性 □综合性教师评价: □算法/实验过程正确: □源程序/实验内容提交 □ ...

  5. 第九章 SQL聚合函数 MIN

    文章目录 第九章 SQL聚合函数 MIN 大纲 参数 描述 数据值 在当前事务期间所做的更改 示例 第九章 SQL聚合函数 MIN 返回指定列中的最小数据值的聚合函数. 大纲 MIN([ALL | D ...

  6. sql活动监视器 死锁_监视SQL Server死锁–简单方法

    sql活动监视器 死锁 SQL Server is a very powerful tool and wherever I go, I see the tool being way much unde ...

  7. 第三章 SQL Server 数据管理

    从本章开始,就接触到了SQL语句的使用,首先介绍使用SQL语句进行数据插入.修改和删除操作. 3.1 SQL简介 在进行数据管理时,如果每次创建数据库.表或者从数据库中读取数据,都需要手动在SQL S ...

  8. 第6章 SQL Server数据库设计

    6.1. 概述 数据库设计是指对于给定的一个应用环境,构造最优的数据库模式,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求). 可以将数据库设计理解成三个要素:应用环境.数据库模式 ...

  9. 第1章 SQL Server基本操作

    1.1. 本书的实验环境 本书的示例与Windows和SQL Server环境有关,具体的环境如下: Windows环境: Windows 7 旗舰版 32位 主机名:GUO-PC 用户:guo,属于 ...

最新文章

  1. python3 语法再学习
  2. Android安全研究经验谈
  3. 【c++】5.函数传指针与传值特容易混淆的点
  4. python库和模块的区别_在函数中导入python库与全局导入之间有何区别?
  5. linux lvm 调整分区大小,linux调整lvm分区大小(/home分区过大,/root分区过小)
  6. 在浏览器中在线尝试无服务器框架项目!
  7. 东明县计算机学校,东明县职业中等专业学校2021年招生信息
  8. 到底什么才是人生最大的投资
  9. 大促背后的流量利器|手淘push升级 比你更懂你
  10. HTML5 API详解(13):video/audio 视频/音频
  11. 浅谈.net事件机制
  12. 元件怎么反转_电气图纸怎么看?三分钟教你学会看懂,受用一生
  13. vscode中文乱码问题及几种常见的解决方案
  14. DFS+记忆化搜索 -- 简单练习
  15. JavaEE企业级实战项目 智牛股第六天 股票交易过程
  16. 第一章 Web MVC简介 —— 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1、We
  17. CAS单点登录-密码管理(十三)
  18. cobble服务器安装配置
  19. 斜杠,双斜杠,反斜杠与双反斜杠
  20. 如何获得指定进程的主窗口

热门文章

  1. Python计算机视觉 sift和Harris特征匹配处理对比
  2. 计算机安装不了cad2007,win7系统电脑中安装cad2007不兼容无法打开的解决方法
  3. STM32驱动PCF8563,使用模拟IIC
  4. 免费的在线3D CAD【BimAnt】
  5. 绘图与滤镜全面解析--Quartz 2D 、Core Image
  6. 申请阿里云服务器并配置SSL证书(附带微信公众号配置服务器)
  7. Android逆向:smali编码实践(三)—— 实体类创建以及if判断
  8. 2021年职业院校技能大赛“网络安全”项目江西省A模块
  9. 小飞鱼平台介绍——小飞鱼开发者服务平台业务介绍
  10. 艾司博讯:拼多多子账户的操作流程