《《与数据库应用开发》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《与数据库应用开发》PPT课件.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SQL Server 与数据库应用开发与数据库应用开发第第4章章 数据库中表的基本操作数据库中表的基本操作 4.1.SQL Server 中表的概述4.2.数据库中表的创建4.3.表的查看4.4.表结构的修改4.5.表的重命名4.6.表的删除主要内容主要内容【知识要求】:掌握数据类型和表的基本知识【能力要求】:1.熟练掌握表的可视化与代码方式创建方法 2.熟练掌握表的查看、修改、重命名、删除等管理方法知识与能力要求知识与能力要求 4.1.1 SQL Server表的概念 1.表的概念 关系数据库的理论基础是关系模型,它直接描述数据库中数据的逻辑结构。关系模型的数据结构是一种二维表格结构,在关系
2、模型中现实世界的实体与实体之间的联系均用二维表格来表示。在SQL Server数据库中,表定义为列的集合,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而每列代表记录中的一个域,如表4-1所示。4.1.SQL Server 4.1.SQL Server 中表的概述中表的概述表4-1 关系模型型数据结构(用户表tb_user)4.1.SQL Server 中表的概述中表的概述2SQL Server表与关系模型的对应表4-2表与关系模型的对应关系模型关系模型SQL ServerSQL Server表表关系模型关系模型SQL ServerSQL Server表表关系表关系模式表的定义
3、属性表的列属性名列名值列值元组行或者记录键主键关系完整性约束4.1.SQL Server 中表的概述中表的概述3表的设计 对于开发一个大型的管理信息系统,必须按照数据库设计理论与设计规范对数据库专门的设计,这样开发出来的管理信息系统才能既满足用户需求,又具有良好的可维护性与可扩充性。在第1章的数据库设计中,已经确定了在线考试管理系统数据库的关系模式,掌握了列的数据类型之后就可以创建表了。4.1.2 SQL Server 数据类型SQL Server 2012 增加了更多更复杂的数据类型,这里重点介绍基本的数据类型1.二进制数据二进制数据常用于存储图像等数据,它包括二进制数据binaryn、变长
4、二进制数据类型varbinary和image3种,存储空间是(n+4)B。对于普通二进制,一般是不够则补齐,超出则截断,对于可变型,不够时用实际长度存储。2.字符型数据类型字符型数据用于存储汉字、英文字母、数字、标点和各种符号,输入时必须由英文单引号括起来。字符型数据有定长字符串类型charn、变长字符串类型varcharn和text类型3种。3.Unicode字符数据 Unicode标准为全球商业领域中广泛使用的大部分字符定义了一个单一编码方案。所有的计算机都用单一的Unicode标准,Unicode数据中的位模式一致地翻译成字符,这保证了同一个位模式在所有的计算机上总是转换成同一个字符。数
5、据可以随意地从一个数据库或计算机传送到另一个数据库或计算机,而不用担心接收系统是否会错误地翻译位模式。Unicode字符数据有定长字符型nchar、变长字符型nvarchar和文本类型ntext3种。4.1.SQL Server 4.1.SQL Server 中表的概述中表的概述4.日期时间型数据日期时间型数据用于存储日期和时间数据,日期时间型数据类型包括datetime(1753-9999)和smalldatetime(1900-2079),时间范围不同;date为日期型。输入时必须由英文单引号括起来。5.整数型数据整数型数据用于存储整数,有bigint,int,smallint和tinyi
6、nt4种类型。6.精确数值型数据精确数值型数据用于存储带有小数点且小数点后位数确定的实数。主要包括decimal(p,s)和numeric(p,s)两种。7.近似数值数据近似数值型数据用于存储浮点数,,包括float和real两种。8.货币数据货币数据由十进制货币的数值数据组成,货币数据有money和smallmoney两种,在SQL Server 2012中,货币型是精确度为4的小数。4.1.SQL Server 4.1.SQL Server 中表的概述中表的概述9.位类型数据位类型数据常用于逻辑数据的存储,只能取1,0或NULL,在位类型的字段中只能输入0和1或者true与false。如果
7、一个表中有8个以下的位类型数据字段,则系统会用一个字节存储这些字段,如果表中有9个以上16个以下位类型数据字段,则系统会用两个字段来存储这些字段。4.1.SQL Server 4.1.SQL Server 中表的概述中表的概述在SQL Server中建立了数据库之后,就可以在该数据库中创建表了。创建表可以在企业管理器以可视化方式和在查询分析器中使用T-SQL语言代码方式两种方法进行。不管哪种方法,都要求用户具有创建表的权限,默认情况下,系统管理员和数据库的所有者具有创建表的权限。4.2.1 使用企业管理器创建表 1 创建表的步骤创建表一般要经过定义表结构、设置约束和添加数据三步,其中设置约束可
8、以在定义表结构时或定义完成之后建立。(1)定义表结构:给表的每一列取字段名,并确定每一列的数据类型、数据长度、列数据是否可以为空等。(2)设置约束:设置约束是为了限制该列输入值的取值范围,以保证输入数据的正确性和一致性。(3)添加数据:表结构建立完成之后,应该向表中输入数据。4.2 4.2 数据库中表的创建数据库中表的创建 4.2 4.2 数据库中表的创建数据库中表的创建表4-3 系部tb_dept的表结构表4-3是系部表tb_ dept的结构,知道结构就可以创建数据表了。字段名称数据类型(宽度)允许空值约束说明dept_numnvarchar(10)否主键系部编号dept_namenvarc
9、har(50)是系部名称2.创建表【案例4-1】以可视化方式创建表tb_dept。打开企业管理器,展开控制台根目录,依次展开服务器、数据库节点,选择在其中建立表的数据库,这里我们选择TestDB数据库,用鼠标右键单击“表”图标,在弹出的快捷菜单中选择“新建表”命令,启动表设计器。【操作演示】4.2 4.2 数据库中表的创建数据库中表的创建4.2.2 使用T-SQL语句创建表 1.CREATE TABLE语句的基本语法 CREATE TABLE DATABASE_NAME.OWNER.TABLE_NAME (|COLUMN_NAME AS COMPUTED_COLUMN_EXPRESSION|,
10、.N )其中的语法如下::=COLUMN_NAME DATA_TYPE NULL|NOT NULL IDENTITY(SEED,INCREMENT)其中的语法如下::=CONSTRAINT CONSTRAINT_NAME|PRIMARY KEY|UNIQUE4.2 4.2 数据库中表的创建数据库中表的创建2.用T-SQL语句创建表 4.2 4.2 数据库中表的创建数据库中表的创建表4-2 班级表(tb_class)的结构【案例4-2】用T-SQL语句创建班级表 字段名称数据类型允许空值约束说明class_numnvarchar(10)否主键班级编号class_namenvarchar(50)是
11、班级名称dept_numnvarchar(10)是外键系部编号代码如下:USE TestDB GOCREATE TABLE dbo.tb_class(class_num nvarchar(50)NOT NULL,class_name nvarchar(50)NULL,dept_num nvarchar(10)NULL)GO4.2 4.2 数据库中表的创建数据库中表的创建4.3.1 查看表结构可以使用企业管理器和系统存储过程查看表结构。(1)使用企业管理器查看。依次展开“服务器组服务器数据库”节点,选择相应的数据库并展开其中的表结点,在明细窗格中用鼠标右键单击表(如用户表tb_user),弹出快
12、捷菜单,选择“属性”命令,出现表属性对话框。单击“常规”和“全文索引”标签查看表信息。(2)使用系统存储过程sp_help查看。其语法格式为:EXEC sp_help 对象名 对象名可以是表名或者其它数据库对象名。例如,查看TestDB数据库中“tb_dept”表的结构,使用下列语句:USE TestDB GO EXECUTE sp_help tb_dept GO 在查询分析器中输入上述代码并执行.4.3 4.3 数据库中表的查看数据库中表的查看4.3.2 查看表中的数据可以使用企业管理器查看表中的数据。依次展开“数据库”节点,选择相应的数据库并展开其中的表结点,在明细窗格中用鼠标右键单击“t
13、b_dept”表,弹出快捷菜单,单击“编辑前200行”命令,就会在查询设计器的结果窗口中看到表中的数据,并可进行添加、修改、删除操作。4.3 4.3 数据库中表的查看数据库中表的查看4.4.1 使用企业管理器修改表结构(1)打开企业管理器,展开“服务器组服务器数据库”节点,选择相应的数据库,展开表对象。(2)在企业管理器的明细窗格中,用鼠标右键单击要修改的表,在弹出的快捷菜单中选择“设计”命令,打开表设计器。4.4 4.4 表结构的修改表结构的修改 4.4.2 使用T-SQL语句修改表结构使用ALTER TABLE语句可以对表的结构进行修改。ALTER TABLE语句的语法格式如下:ALTER
14、 TABLE table_name ALTER COLUMN column_name new_data_type(precision,scale)NULL|NOT NULL 4.4 4.4 表结构的修改表结构的修改|ADD|column_name AS computed_column_expression,n|ADD ,n|DROP CONSTRAINTconstraint_name|COLUMN column,n|CHECK|NOCHECKCONSTRAINT ALL|constraint_name,n|ENABLE|DISABLETRIGGERALL|trigger_name,n4.4 4
15、.4 表结构的修改表结构的修改其中的语法如下::=CONSTRAINT CONSTRAINT_NAME|PRIMARY KEY|UNIQUE参数含义说明:table_name:是要更改的表的名称。若表不在当前数据库中或表不属于当前用户,就必须指定其的列所属的数据库名称和所有者名称。ALTER COLUMN:指定要更改的列。new_data_type:指定新的数据类型名称。precision:指定新数据类型的精度。scale:指定新数据类型的小数位数。ADD:添加一个或多个列。computed_column_expression:计算列的计算表达式。DROPCONSTRAINTconstrain
16、t_name|COLUMN column_name:指定要删除的约束或列的名称。4.3 4.3 表结构的修改表结构的修改【案例4-4】为“系部表”tb_dept添加备注列“memo”,数据类型为char(50),可以为空。use TestDB GOalter table tb_deptadd memo char(50)nullgo4.3 4.3 表结构的修改表结构的修改【案例4-5】修改“系部表”tb_dept备注列“memo”数据类型为varchar(100)。use TestDB GOalter table tb_useralter column memo varchar(100)null
17、go【案例4-6】将“系部表”tb_dept备注列“memo”删除use TestDB GOalter table tb_deptdrop column memo go4.3 4.3 表结构的修改表结构的修改通过企业管理器修改表名操作步骤如下:(1)打开企业管理器,展开“服务器组服务器数据库”节点,选择相应的数据库并展开其中的表结点。(2)在企业管理器的明细窗格中,用鼠标右键单击要修改名称的表,在弹出的快捷菜单中选择“重命名”命令,输入新表名即可。4.5.2 使用系统存储过程修改表名语法格式为:sp_rename oldname,newname【案例4-9】使用系统存储过程修改表系部表“tb_
18、dept”名称为“系部”Use TestDBGoExec sp_rename 系部,tb_deptGO4.5 表的重命名表的重命名由于应用的原因,有些表可能不需要了,对于不需要的表,可以将其删除。一旦表被删除,表的结构、表中的数据、约束、索引等都将被永久地删除。删除表的操作可以通过企业管理器以可视化方式完成,也可以通过DROP TABLE语句完成。4.6.1 使用企业管理器删除表【案例4.7】在TestDB数据库中删除“班级”表tb_class。操作步骤如下:(1)打开企业管理器,展开“服务器组服务器数据库”节点,选择相应的数据库并展开其中的表结点。(2)在企业管理器的明细窗格中,用鼠标右键单击要删除的表,在弹出的快捷菜单中选择“删除”命令,出现如图4.7所示的“除去对象”对话框,单击“全部除去”按钮可删除表。4.6 4.6 表的删除表的删除4.6.2 使用DROP TABLE语句删除表语法格式如下DROP TABLE table_name【案例4.8】在TestDB数据库中删除“系部”表tb_dept。在查询窗口中输入如下命令:USE TestDBGODROP TABLE tb_deptGO4.6 4.6 表的删除表的删除见习题与答案习题习题