SQL SERVER数据库定义和建立

1﹑创建相应的数据库和查看数据库属性;

       首先,需要创建数据库,可以有两种方式选择

(1)     在GUI的对象资源管理器界面数据库部分右击,点击创建“SPJ“数据库。

(2)     视图,打开模板资源库,选择database的create database语句,ctrl+shift+M替换数据库名,改为SPJ。以上操作都可快速创建数据库。

       其次,查看数据库属性。大概分为四种方法,

(1)     最简单的,图形化工具,右击点属性即可。SQL SERVER数据库定义和建立_第1张图片

(2)    使用存储过程 sp_spaceused显示数据库使用和保留的空间。sp_helpdb存储过程查看所有数据库的基本信息

SQL SERVER数据库定义和建立_第2张图片

(3)    使用目录视图

select * fromsys.database_files;

   select * fromsys.filegroups;

   select * fromsys.master_files;

   select * fromsys.databases;

SQL SERVER数据库定义和建立_第3张图片

(4)    使用函数

USE SPJ GO

SELECT databasepropertyex(‘SPJ’,’ UserAccess’)as ‘state of SPJ’

这条语句就光光返回SPJ数据库的可以访问的用户名。还有其他很多属性。

2﹑创建基本表﹑确定表的主码和相应的约束,为主码建索引;

(1)  图形界面创建不具体。

(2)     建表的T-sql语句如下:

create table S

 

 

 

 

( SNO nchar(20) primary key,

  SNAME nchar(50),

  _STATUS int,

  CITY nchar(30));

/*创建供应商表*/

 

create table P

( PNO nchar(20) primary key,

  PNAME nchar(50),

  COLOR nchar(20),

  WEIGTH int);

/*创建零件表P*/

 

create table J

( JNO nchar(20) primary key,

  JNAME nchar(50),

  CITY nchar(20));

/*创建工程项目表J*/

 

create table SPJ

( SNO nchar(20),

  PNO nchar(20),

  JNO nchar(20),

  QTY int,

  primary key(SNO,PNO,JNO),

  foreign key (SNO) references S(SNO),

  foreign key (PNO) references P(PNO),

  foreign key (JNO) references J(JNO));

/*创建供求关系表SPJ*/

在这种方式下,建表语句连同主键外码一同定义,非常省事。

 

 

--=============================================

--Create index basic template

--=============================================

USE SPJ

GO

 

CREATE INDEX spj_index

ON J

(

    JNO

)

GO

以上为SQL-SERVER中创建索引的语句。

 

 

3﹑创建﹑查看视图;

            SQL SERVER数据库定义和建立_第4张图片

同样的,可以参照模板库里的Create View Template

--=============================================

--Create View template

--=============================================

USE <database_name, sysname, AdventureWorks>

GO

 

IF object_id(N'.','V') IS NOT NULL

    DROP VIEW <schema_name, sysname, dbo>.<view_name, sysname, Top10Sales>

GO

 

CREATE VIEW <schema_name, sysname, dbo>.<view_name, sysname, Top10Sales> AS

<select_statement, , SELECT TOP 10 * FROM Sales.SalesOrderHeader ORDERBY TotalDue DESC>

加上ctrl+shift+M,填上数据库名,模式名,视图名,以及select声明。

4﹑创建表之间的关联;

右键-关系

5﹑利用T-SQL和SQL Server企业管理器向数据库输入数据。

(1)T-SQL:insertinto 表名 values (, ,, )输完执行

(2)GUI可右键表,设计前200行。




思考:

1﹑为什么要建立索引?在你的数据库中建立多少索引合适?

这是因为,创建索引可以大大提高系统的性能。 

第一,        通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

第二,        可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 

第三,        可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

第四,        在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

第五,        通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

在这个SPJ数据库中,只需要对主码建立索引,因为自动对主码进行了索引。

2﹑索引和视图能否修改吗?为什么?

可以,因为索引和视图是建立在表的基础上的,修改视图以及索引并不会影响相关对象,例如,存储过程和触发器,而且用户必须要具有对OBJECT有ALERT的权限。

3﹑为什么不能随意删除被参考表中的主码?

可能会破坏数据完整性,主要是参照完整性。被参照的属性假如失去了主码的属性,可能导致外码表在该表中找不到一个元组与之属性值相等,还有可能原来主码的属性为空属性,导致与现实生活的不符。



你可能感兴趣的:(数据库sql,server)