项目4网上书城数据库表的管理_第1页
项目4网上书城数据库表的管理_第2页
项目4网上书城数据库表的管理_第3页
项目4网上书城数据库表的管理_第4页
项目4网上书城数据库表的管理_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、工程四网上书城数据库表的管理.工程知识要点单词学习1Constraint:约束 2Primary Key:主键3Foreign Key:外键 4Binary:二进制5Check:检查 6Unique:独一7Alter:修正 8Insert:插入9Update:更新 10Delete:删除掌握数据表的根底知识 表的定义 表是包含数据库中一切数据的数据库对象。在表中,数据成二维行列格式,每一行代表一个独一的记录,每一列代表一个域。 表4-1 顾客信息表掌握数据表的根底知识列名 列名是用来访问表中详细域的标识符,列名必需遵照以下规那么:1列名是可以含有从1到128的ASCII码字符,它的组成包括字母

2、、下划线、符号以及数字。2不要给列名命名为与SQL关键字一样的名字,比如SELECT,IN,DESC等。3列名应该反映数据的属性。SQL Server的数据类型分类备注和说明数据类型说明二进制数据类型存储非子符和文本的数据Image可用来存储图像文本数据类型字符数据包括任意字母、符号或数字字符的组合Char固定长度的非 Unicode 字符数据Varchar可变长度非 Unicode 数据Nchar固定长度的 Unicode 数据Nvarchar可变长度 Unicode 数据Text存储长文本信息Ntext存储可变长度的长文本日期和时间日期和时间在单引号内输入Datetime 日期和时间数字数

3、据该数据仅包含数字,包括正数、负数以及分数intsmallint整数floatreal数字货币数据类型用于十进制货币值MoneyBit数据类型表示是/否的数据Bit存储布尔数据类型思索号码普通运用什么数据类型存储?性别普通运用什么数据类型存储?年龄信息普通运用什么数据类型存储?照片信息普通运用什么数据类型存储?薪水普通运用什么数据类型存储?网上书城数据表的设计与创建 表的设计步骤1表的命名方式。2表中每一列的称号、数据类型及其长度。3表中的列能否允许空值,能否独一,能否要进展默许设置或添加用户定义约束。4表间的关系,即确定哪些列是主键,哪些是外键。工程中的部分表 顾客信息表Customers

4、工程中的部分表 订单信息表Orders 工程中的部分表订单详细表OrderDetails 创建数据库表运用SSMS导游创建表 【例4-2-1】在SQL Server2005中运用“SQL Server Management Studio 创建BookShop数据库中的Customers表顾客信息表。详细步骤如下:1启动SSMS,登录效力器类型为【数据库引擎】,并运用Windows或SQL Server身份认证建立衔接。2在“对象资源管理器中依次展开【数据库】节点、【BookShop】节点,右键单击【表】节点,选择【新建表】命令,如图4-1所示。图4-1 选择“新建表 3翻开【表设计器】窗口,在

5、【列名】下的编辑框中输入列名“CID,然后点击【数据类型】下的下拉框,拖动下拉框的滚动条,选择“char(10),如图4-2所示。图4-2 表设计器 4 在“表设计器窗口的【列属性】选项卡中的【长度】域的编辑框中输入6,如图4-3所示。输入终了后,再看【数据类型】下的下拉框内容由char(10)变为char(6)。5单击“表设计器窗口的【允许空】列中的小方框,使得小方框中去掉,就符合了“CID列不允许为空的要求。图4-3 修正字符类型长度6类似地,反复步骤25,在“表设计器窗口添加顾客信息表的其它7个字段,效果如图4-4所示。图4-4 顾客信息表8个字段 7设置主键。在“表设计器窗口中选定第一

6、个字段“CID,再执行菜单命令【表设计器】【设置主键】即可按要求将字段“CID设为主键,如图4-5所示。图4-5 设置顾客信息表的主键8修正表称号。在“表设计器窗口右侧“属性面板中【称号】域的编辑框中输入表称号“Customers,如图4-6所示。表称号输入完后不是立刻生效的,要在保管表后,表称号修正才干生效。图4-6 修正表称号 9保管表。单击工具栏中的【保管】按钮即可以保管表。新表创建后,在“对象资源管理器中展开【数据库】节点中的数据库节点【BookShop】,可以查看到刚刚所建的表,如图4-7所示。图4-7 创建好的Customers表 运用CREATE TABLE语句创建表CREATE

7、 TABLE (列级完好性约束条件, 列级完好性约束条件., )运用CREATE TABLE语句创建表 【例4-2-3】为了保管顾客根本信息,需求在BookShop数据库中创建一个名为“Customers的表,运用T-SQL语句完成创建表的过程。运用CREATE TABLE语句创建表详细步骤如下:1胜利登录SQL Server效力器后,在SSMS界面中,单击【新建查询】按钮,翻开一个SQLQuery窗口。2在SQLQuery窗口输入如下命令,然后单击按钮,分析输入的T-SQL语法能否有错,然后再点击【执行】按钮,即能创建好顾客信息表。如图4-13所示。运用CREATE TABLE语句创建表Us

8、e BookShop -翻开数据库Go -批处置终了语句CREATE TABLE Customers ( CID char (6) NOT NULL PRIMARY KEY, -PRIMARY KEY表示主键 CTrueName varchar(30) NOT NULL,Cpassword varchar(30) NOT NULL,CSex char(2) NOT NULL,CAddress varchar(50) NULL,CMobile varchar(11) NOT NULL, CEmail varchar(50) NULL,CRegisterDate datetime NOT NULL

9、)运用CREATE TABLE语句创建表在SQLQuery窗口输入T-SQL命令假设当前数据库中已存在Customers表,再次创建时系统将提示出错 。如何处理呢?USE BookShop -将当前数据库设置为 BookShop ,以便在 BookShop 数据库中建表GOIF EXISTSSELECT * FROM sysobjects WHERE name=Customers DROP TABLE CustomersCREATE TABLE Customers /*-创建顾客表-*/(.) GO标识列表中没有适宜的列作为主键怎样办?标识列USE stuDB -将当前数据库设置为stuDB

10、GOCREATE TABLE stuInfo /*-创建学员信息表-*/( stuName VARCHAR(20) NOT NULL , -姓名,非空必填 stuNo CHAR(6) NOT NULL, -学号,非空必填 stuAge INT NOT NULL, -年龄,INT类型默以为4个字节stuSeat SMALLINT IDENTITY (1,1), -座位号,自动编号 stuAddress TEXT -住址,允许为空,即可选输入) GOIDENTITY起始值,递增量 思索标识列允许为字符数据类型吗?假设标识列A的初始值为1,增长量为2,那么输入三行数据以后,再删除两行,下次再输入数据

11、行的时候,标识值从多少开场?数据完好性数据完好性是指数据库中数据的准确性和一致性。假设两个或更多的表由于其存储的信息而相互关联,那么只需修正了其中一个表,与之相关的一切表都要做出相应的修正,假设不这么做,存储的数据就会不再准确。也就是说,推进了数据的完好性。 数据完好性主要分为四类:实体完好性、域完好性、援用完好性和用户定义完好性。 数据完好性数据存放在表中“数据完好性的问题大多是由于设计引起的创建表的时候,就该当保证以后数据输入是正确的错误的数据、不符合要求的数据不允许输入创建表:保证数据的完好性 = 实施完好性约束完好性包括2-1输入的类型能否正确?年龄必需是数字输入的格式能否正确?身份证

12、号码必需是18位能否在允许的范围内?性别只能是男或者女能否存在反复输入?学员信息输入了两次能否符合其他特定要求?信誉值大于5的用户才可以参与会员列表列值要求约束整行要求约束完好性包括2-2域完好性实体完好性援用完好性自定义完好性实体完好性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012.地址姓名学号江西南昌雷铜0010014约束方法:独一约束、主键约束、标识列域完好性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012.地址姓名

13、学号湖北江门李亮8700000000约束方法:限制数据类型、检查约束、外键约束、默许值、非空约束援用完好性河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012地址姓名学号980010021数学约束方法:外键约束科目学号分数数学001001288数学001001374语文001001267语文001001381数学001001698自定义完好性AV121322乔峰CV0016AV372133玄痛CV0015AV378291沙悟净AV0014AV378290猪悟能AV0013AV378289孙悟空AV0012.会员证

14、用户姓名用户编号约束方法:规那么、存储过程、触发器帐号姓名信用.00192孙悟空700288猪悟能612333段誉890111虚竹4093000岳不群-10触发器:检查信誉值思索学员姓名允许为空吗?家庭地址允许为空吗?电子邮件信息允许为空吗?考试成果允许为空吗?思索在主键列输入的数值,允许为空吗?一个表可以有多个主键吗?在一个学校数据库中,假设一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一同来作为主键吗?选择主键的原那么最少性尽量选择单个键作为主键稳定性尽量选择数值更新少的列作为主键SQL Server的约束约束的目的:确保表中数据的完好型常用的约束类型:

15、主键约束Primary Key Constraint:要求主键列数据独一,并且不允许为空独一约束Unique Constraint:要求该列独一,允许为空,但只能出现一个空值。检查约束Check Constraint:某列取值范围限制、格式限制等,如有关年龄的约束默许约束Default Constraint:某列的默许值,如我们的男性学员较多,性别默以为“男外键约束Foreign Key Constraint:用于两表间建立关系,需求指定援用主表的那列约束名的取名规那么引荐采用:约束类型_约束字段主键Primary Key约束:如 PK_stuNo独一Unique Key约束:如 UQ_stu

16、ID默许Default Key约束:如 DF_stuAddress检查Check Key约束:如 CK_stuAge外键(Foreign Key)约束:如 FK_stuNo PRIMARY KEY约束 PRIMARY KEY约束 表的一列或几列的组合的值在表中独一地指定一行记录,这样的一列或多列称为表的主键PRIMARY KEY,经过它可强迫表的实体完好性。 【例4-3-1】运用PRIMARY KEY约束对数据库BookShop实施数据完好性。 1运用SQL Server Management Studio管理PRIMARY KEY约束1启动SSMS,进入新建表,假设表曾经建立好,那么进入修正

17、表的形状,如图4-11所示。2单击要设置的PRIMARY KEY约束的列,例如:CID,选择工具栏上的按钮也可以右键选择【设置主键】选项,创建主键约束。如图4-12所示。3创建主键终了后,在对应的列名前有标志,此时,该列的【允许空】也改动为“非空,如图4-13所示。图 4-11 选择修正表 图 4-12 选择设置主键 图 4-13 创建PRIMARY KEY约束 运用T-SQL管理PRIMARY KEY约束CREATE TABLE Customers ( CID char (6) NOT NULL Constraint PK_CID PRIMARY KEY, CTrueName varchar

18、(30) NOT NULL,Cpassword varchar(30) NOT NULL,CSex char(2) NOT NULL,CAddress varchar(50) NULL,CMobile varchar(11) NOT NULL,CEmail varchar(50) NULL,CRegisterDate datetime NOT NULL)假设在订单概略表中不设置编号,那么可以将表中“订单编号+商品编号作为订单概略的独一标识,在创建数据表OrderDetails时,为OID和GID的组合设置PRIMARY KEY约束。完成语句如下所示。USE BookShopGOCREATE T

19、ABLE OrderDetails ( OID char (14) NOT NULL, GID char(6) NOT NULL,OdPrice float NOT NULL,OdNumber int NOT NULL,CONSTRAINT PK_OID_GID PRIMARY KEY(OID,GID)图 4-14 组合主键 FOREIGN KEY约束 FOREIGN KEY约束标识表之间的关系,用于强迫参照完好性,为表中一列或者多列数据提供参照完好性。FOREIGN KEY约束也可以参照本身表中的其他列,这种参照称为自参照。主外键关系-1演示建立数据库关系图主外键关系-2演示建立主-外键关系

20、主外键关系-3当主表中没有对应的记录时,不能将记录添加到子表订单表中不能出如今顾客表中不存在的客户;不能更改主表中的值而导致子表中的记录孤立把顾客表中的客户编号改动了,订单表中的顾客编号也该当随之改动;子表存在与主表对应的记录,不能从主表中删除该行不能把有订单的顾客删除了删除主表前,先删子表先删订单表、后删除顾客表创建检查约束演示建立检查约束运用T-SQL管理CHECK约束 CREATE TABLE Customers ( CID char (6) NOT NULL Constraint PK_CID PRIMARY KEY, CTrueName varchar(30) NOT NULL,Cp

21、assword varchar(30) NOT NULL,CSex char(2) NOT NULL CHECK(CSex=男 or CSex=女),CAddress varchar(50) NULL,CMobile varchar(11) NOT NULL,CEmail varchar(50) NULL,CRegisterDate datetime NOT NULL)UNIQUE约束 为了保证商品类别称号表Category中的称号不反复,在创建数据表Category时,为CaName设置UNIQUE约束。完成语句如下所示。CREATE TABLE Category (CaID char(2)

22、 NOT NULL PRIMARY KEY,CaName varchar(20) NOT NULL,CaDeleted bit NOT NULL,CONSTRAINT UN_CaName UNIQUE(CaName) DEFAULT约束 需求Customers表中输入数据时,为CRegisterDate提供一个默许值为当天时间,以保证非空性或简化用户输入,其完成语句如下所示。CREATE TABLE Customers ( CID char (6) NOT NULL Constraint PK_CID PRIMARY KEY, CTrueName varchar(30) NOT NULL,Cp

23、assword varchar(30) NOT NULL,CSex char(2) NOT NULL CHECK(CSex=男 or CSex=女),CAddress varchar(50) NULL,CMobile varchar(11) NOT NULL,CEmail varchar(50) NULL,CRegisterDate datetime NOT NULL DEFAULT(GetDate( )数据表的操作 运用T_SQL语句修正表构造 ALTER TABLE ALTER COLUMNADD DROP 1运用ADD子句添加新列或新的完好性约束条件 在Customers表中添加出生日期

24、“CBirth列,其数据类型为datetime类型。该操作运用T-SQL语句完成如下: 在Orders表中添加外键约束,CID列为外键与Customers表的主键CID对应。该操作运用T-SQL语句完成如下: ALTER TABLE CustomersADD CBirth datetimeALTER TABLE OrdersADD CONSTRAINT FK_Orders_Customers FOREIGN KEY(CID) REFERENCES Customers(CID)2运用DROP子句删除指定的完好性约束条件。 3运用ALTER COLUMN子句修正根本表的列定义或约束 将Custom

25、ers表CTrueName列的数据类型改为char型,宽度为30,且该列允许为空值。该操作运用T-SQL语句完成如下:ALTER TABLE Category DROP CONSTRAINT UN_CaNameALTER TABLE Customers ALTER COLUMN CTrueName char(30) NULL数据表的删除 思索到不需求BookShop数据库的购物车表ShopCar,要将该表从BookShop数据库中删除,该操作运用T-SQL语句完成,完成语句如下所示。DROP TABLE ShopCar管理网上书城系统数据表的数据 【例4-3-6】在SQL Server2005

26、的SQL Server Management Studio中完成Customers表中记录的添加、删除和修正等操作。INSERT INTO ,VALUES,1插入一切列。 新顾客信息录入,顾客信息如表所示,添加到Customers表中。2插入指定列 新顾客信息录入,顾客信息地址CAddress和电子邮箱CEmail尚缺,只能将该顾客的部分信息如表所示添加到Customers表中。INSERT INTO CustomersVALUES(C0011,李平,123456,女,广东中山市,1543876,liping163,2021-9-6)INSERT INTO Customers (CID, CTrueName, Cpassword, CSex, CMobile, CRegisterDate)VALUES(C0012, 张先明, 123456, 男, 13452312, 2021-10-6)3插入多条记录多名顾客信息录入,顾客信息如表所示,添加到Customers表中。USE BookShopGOINSER

温馨提示

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

评论

0/150

提交评论