收藏 分销(赏)

实验三数据库和关系表.docx

上传人:二*** 文档编号:4516963 上传时间:2024-09-26 格式:DOCX 页数:11 大小:96.49KB
下载 相关 举报
实验三数据库和关系表.docx_第1页
第1页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、实验三数据库和关系表一、实验目的1. 熟悉openGauss的基本操作环境2. 掌握gsql命令的操作方法,掌握使用gsql创立管理数据库与数据表3. 掌握使用Data Studio创立管理数据库与数据表二、预备知识I. 使用数据库步骤1以操作系统用户omm登录数据库主节点。rootecs-c9bf script# su - omm假设不确定数据库主节点部署在哪台服务器,请确认连接信息。步骤2启动服务。启动服务命令:ommecs-c9bf $ gs_om -t startStarting cluster.Successfully started.步骤3连接数据库。| ommecs-c9bf $

2、 gsql d postgres -p 26000 r当结果显示为如下信息,那么表示连接成功。gsql (openGauss 1.1.0 build 290d 125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131Non-SSL connection (SSL connection is recommended when requiring high-security) Type help for help.postgres=#其中,postgres为openGauss安装完成后默认生成的数据库。初始可以连接到此数据库 进行新

3、数据库的创立。2600()为数据库主节点的端口号,需根据。penGauss的实际情况做替 换,请确认连接信息获取。引申信息:使用数据库前,需先使用客户端程序或工具连接到数据库,然后就可以通过客户 端程序或工具执行SQL来使用数据库了。gsql是openGauss数据库提供的命令行方式的数据库连接工具。步骤4笫一次连接数据库时,需要先修改。mm用户密码,新密码修改为Bigdata123 (建议用户自定义密码)。poslgrcs=# alter role omm identified by *Bigdata123 replace ,openGauss123,; ALTER ROLE步骤5创立数据库

4、用户。默认只有openGauss安装时创立的管理员用户可以访问初始数据库,您还可以创立其他 数据库用户帐号。| postgres=# CREATE USER ecustOl WITH PASSWORD ”opengauss123”;| select * from Student;stu_cou=sno95002950030 95016 95018960010 95001(8 rows)from Student;ssex I +女|1976-04-08女I1977-02-02女I1977-03-05女I1978-11-01勇I1977-04-06男I1978-06-02男I1979-08-18男

5、I1977-05-01sbirth00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:005603186322222112pt de3似语语学会学学组汁英英化社数数计图5-4查找数据根据上述方法依次创立Course、SC表,并将数据插入到对应表中。stu_cou=# stu_cou(# stu_cou-# INSERT 0 2 stu_cou=# stu_cou-# 3tU_COU# stu_cou-# stu_cou-# stu_cou-# stu_cou-# stu_cou-# INSERT 0 7ins

6、ert into Course values( ,I*,*数据库_设计七,必修*, *5, (2,,数学,必修七1 2);into Course values信息系统七,必修 I*操作系统七,必修七61数据结构七,必修七*7*数据处理,选修七八PASCAL语言七,选修七1概率统if , *必修七八,计算机网络七,必修七,,4),3),4),2)6,3),stu cou=#select * from Course;cname I ctype | cpno数据库设汁 数学 信息系统 操作系统 数据结构 数据处理 PASCAL (*i 概率统汁 计算机网络rows)stu cou=#图5-5插入Co

7、urse表、SC表4),;),4);I ccredit +I4I2I4I3I4I2I4I3I4= u 1 o o c o-5 u 9 t 3 (into SC valuesselect2,80),stu_cou=#95001|0 |95002|95002|95016|95018|0 | (9 rows)图5-6查找Course表、SC表【例3-5】在数据库Stu.Cou中创立表S1create table S1(Sno char(6) not null constraint s_u unique.Sname varchar (10) not null,Ssex char (8 ),Sbirth

8、 date,Scrcdit real,Sclass char(6),Sdept varchar(20) not null);注:constraint s_u unique表示新建名称为“s u”的约束,其作用是约束学号取值唯一。【例3-6】向S1表增加Sentrance (入学时间)列,其数据类型为日期型alter table SIadd Sentrance date;注:新增加的列一律为空值【例3-7修改表S1的列Scrcdit的类型alter tabic S ialter column Scrcdit type SM ALLI NT;注:修改原有的列定义有可能会破坏已有数据【例3-8删除u

9、nique约束alter table SI drop constiaint s u;【例3-9】删除表SI | drop table SI;四、习题该局部表格按照前面讲述的表格字段进行。Student表5-2结构:Course表5-4结构,SC表 5-6结构如上表,完成下面习题I、请在数据库Stu_Cou中建立表Course、表SC,并输入数据。2请应用gsql命令建立表Cl,表结构与表Course相同,并为列Cno建立unique约束c_u。3、应用gsql命令向Cl表增加Cperiod (学时)列,其数据类型为整型。4应用gsql命令删除unique约束c_u。5、应用gsql命令修改表C

10、1的列Cno的类型为char(10)。6、删除表Cl。当结果显示为如下信息,那么表示创立成功。| CREATE ROLE如上创立了一个用户名为joe,密码为Bigdata123的用户。步骤6创立数据库。CREATEDATABASE 功能描述创立一个新的数据库。缺省情况下新数据库将通过复制标准系统数据库templateO来创 建,且仅支持使用templateO来创立。考前须知只有拥有CREATEDB权限的用户才可以创立新数据库,系统管理员默认拥有此权 限。不能在事务块中执行创立数据库语句,即事务中不支持创立databaseo 在创立数据库过程中,假设出现类似“could nol initiali

11、ze database directory n的错误提 示,可能是由于文件系统上数据Fl录的权限缺乏或磁盘满等原因引起。CREATE DATABASE 语法格式CREATE DATABASE dalabase_nameWITH OWNER = user_name |TEMPLATE = template |ENCODING = encoding |LC.COLLATE 1= lc_collate | LC.CTYPE = lc_clype |DBCOMPATIBILITY = compatibilty_type |TABLESPACE = tablespace_name |CONNECTION

12、 LIMIT = connlimit ).;在执行系统界面下如下列图:postgres=# help create databaseCommand:CREATE DATABASEDescription: create a new database Syntax:CREATE DATABASE database_nameWITH OWNER 7= user_name |TEMPLATE = tenolate |ENCODING = encoding |LC_COLLATE = lc_collate |LCCTYPE = lc_ctype |DBCOMPATIBILITY-= compatibil

13、ity_type | TABLESPACE = tablespace_name |CONNECTION LIMIT = connlimit .;postgres=# |database_name数据库名称。取值范围:字符串,要符合标识符的命名规范。OWNER = user_name数据库所有者。缺省时,新数据库的所有者是当前用户。取值范围:已存在的用户名,如果不存在那么报错。TEMPLATE = template模板名。即从哪个模板创立新数据库。openGauss采用从模板数据库复制的方式来创立 新的数据库。初始时,openGauss包含两个模板数据库template。、template 1,

14、以及个默认 的用户数据库postgreso取值范围:仅templateOoENCODING = encoding指定数据库使用的字符编码,可以是字符串(如SQL_ASCID、整数编号。不指定时,默认使用模版数据库的编码。模板数据库templateO和【emplatel的编码默认 与操作系统环境相关o template 1不允许修改字符编码,因此假设要变更编码,请使用templateO 创立数据库。常用取值:GBK、UTF8、LatinKLC_COLLATE = lc_collate指定新数据库使用的字符集。例如,通过lc_collate = zh-CN.gbk设定该参数。该参数的使用会影响到对

15、字符串的排序顺序(如使用ORDERBY执行,以及在文本列 上使用索引的顺序)。默认是使用模板数据库的排序顺序。取值范围:有效的排序类型。LC_CTYPE = Ic.ctype指定新数据库使用的字符分类。例如,通过lc_ctypc = zlvCN.gbk设定该参数。该参数 的使用会影响到字符的分类,如大写、小写和数字。默认是使用模板数据库的字符分类。取值范围:有效的字符分类。DBCOMPATIBILITY = compatibi lty_type指定兼容的数据库的类型。取值范围:A、B、Co分别表示兼容Oracle、Mysql和TD。TABLESPACE = tab Iespace_name指定

16、数据库对应的表空间。取值范围:己存在表空间名。CONNECTION LIMIT = connlimit数据库可以接受的并发连接数。| postgres=# CREATE DATABASE db ecust01 OWNER ecustOl;当结果显示为如下信息,那么表示创立成功。| CREATE DATABASE创立完db.ecustOl数据库后,就可以按如下方法退出postgres数据库,使用新用户连接到此数据库反行接卜来的创立表等操作。当然,也可以选择继续在默认的postgres数据库 下做后续的体验。退出postgres数据库。| postgres=# q使用新用户连接到此数据库。| om

17、mecs-c9bf $ gsql -d db ccust01 -p 26000 -E ecustOl -W opengauss123 -r当结果显示为如下信息,那么表示连接成功gsql (openGauss 1.1.0 build 290d 125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131Non-SSL connection (SSL connection is recommended when requiring high-security)Type help for help.db_tpcc=步骤7创立SCHEMAo

18、| db tpcc= CREATE SCHEMA ecustOl AUTHORIZATION ecustOl;当结果显示为如下信息,那么表示创立SCHEMA成功。| CREATE SCHEMA步骤8创立表。创立一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为integer。db_tpcc= CREATE TABLE mytablc (firstcol int);CREATE TABLE步骤9向表中插入数据:| db tpcc=INSERT INTO mytable values (10);当结果显示为如下信息,那么表示插入数据成功。| INSERT。1查看表中数据:

19、db_tpcc= SELECT * from niytable;firstcol10(1 row)步骤10退出postgres数据库。| postgres=# q2. Data Studio主界面包括:1. 主菜单:提供使用Data Studio的基本操作;2. 工具栏:提供常用操作入口;3. “SQL终端”页签:在该窗口,可以执行SQL语句和函数/过程;4. “PL/SQL Viewer”页签:显示函数/过程信息;5. 编辑区域用于进行编辑操作;6. “调用堆栈”窗格:显示执行栈:7. “断点“窗格:显示断点信息;8. “变量”窗格:显示变量及其变量值;9. “SQL助手”页签:显示“SQL

20、终端”和“PL/SQL Viewer”页签中输入信息的建议或参考;10. “结果页签:显示所执行的函数/过程或SQL语句的结果;11. 消息页签:显示进程输出。显示标准输入、标准输出和标准错误;“对象浏览器”窗格:显示数据库连接的层级树形结构和用户有权访问的相关数据库对象; 除公共模式外,所有默认创立的模式均分组在“系统模式下,用户模式分组在相应数据库的 “用户模式下;12. “最小化窗口窗格”:用于翻开“调用堆栈”和“变量”窗格。该窗格仅在“调用堆栈”、“变量” 窗格中的一个或多个窗格最小化时显示。13. 搜索工具栏:用于在“对象浏览器”窗格中搜索对象。有些项不可见,除非触发特定功能。下列图

21、以openGauss界面为例说明:d)4UPOIMM IX 95” mUMTHJ0| ROflUXVr 1AW-O jf,-cQJSB oItf -ft-o uKAWWOWQADS nROATABASf na OGAUIT MMKXS ntlXTfNSION nRKMDGNTAMl nt FUNCTION TUGAOur nKRMX HRlAltaoeMCT TtRNOOf m nsounaKKx TUROUTU SOMMA nt SQUCMCf TW MRVIR TUSUSION TlRSVSTlMQUttSSIOI UK TAMEMUR TABU rMTmOH MRU TAtUSMCf10

22、图 5-1 Data Studio 主界面,二、实验例如【例3-l】使用gsql语句连接数据库并创立一个新的数据库stub 以操作系统用户onim登录数据库主节点。| |rootecs-c9bf script# su - omm启动服务命令:ommecs-c9bf $ gs_om -t start Starting cluster.Successfully started.连接数据库lommecs-c9bf $ gsql -d postgres -p 26000 -r当结果显示为如下信息,那么表示连接成功。gsql (openGauss 1.1.0 build 290dl25D compile

23、d at 2020-05-08 02:59:43 commit 2143 last mr 131 Non-SSL connection (SSL connection is recommended when requiring high-security) Type help for help.postgres=#创立数据库用户。postgres=# CREATE USER ecustO 1 WITH PASSWORD opengauss123;当结果显示为如下信息,那么表示创立成功。CREATE ROLE如上创立了一个用户名为ecustOl,密码为opcngauss123的用户。创立数据库|

24、 posigres=# CRE/VTE DATABASE slu cou OWNER ccustOl;当结果显示为如下信息,那么表示创立成功| CREATE DATABASE退出postgres数据库。postgres=# q使用新用户连接到此数据库。ommecs-c9bf $ gsql -d stu cou -p 26000 -U ecustO 1 -W opengauss 123 -r当结果显示为如下信息,那么表示连接成功gsql (openGauss 1.1.0 build 290dl25f) compiled at 2020-05-08 02:59:43 commit 2143 las

25、t mr 131 Non-SSL connection (SSLconnection is recommended when requiring high-securily) Type help for help.stul=【例3-2】删除数据库stu_cou| postgres=# DROP DATABASE stu I;用户可以使用DROP DATABASE命令删除数据库。这个命令删除了数据库中的系统目录,并旦删除了带有数据的磁盘上的数据库目录。用户必须是数据库的。wner或者系统管理员才 能删除数据库。当有人连接数据库时,删除操作会失败。删除数据库时清先连接到其他的数 据库。【例3-3】

26、创立数据库Stu_Cou posigres=# CREATE DATABASE Siu_Cou : CREATE DMABASE#连接数据库|ommecs-c9bf $ gsql -d stu_Cou -p 26000 -U -r【例3-4在数据库Stu_Cou中创立三个表,分别为Student表、Course表、SC表。这三个表中的例如数据及表结构如I、.:Student表(学生表5-1)SnoSnameSsexSbirthSpreSclassSdept95001李勇男1977-5-123计 9501计算机95002刘晨女1976-4-825计 9502计算机95003李鸣女1977-2-2

27、26英 9501英语95004王敏女1977-3-520英 9501英语95016金瑾女1978-11-123化 9501化学95018汪劲男1977-4-621社 9502社会96001,张立男1978-6-218数 9601数学96002柳风男1979-8-1816数 9602数学Student 表 5-2 结构:列名含义类型允许空Sno学号char( 6)XSname姓名varchar( 1()XSsex性别char(8)qSbirth出生日期datetimeqSprc己修学分realqSclass班级char(6)qSdept所在系varchar(20)qCourse表5-3 (课程表

28、)CnoCnameCtypeCpnoCcredit1数据库一设计必修542数学必修23信息系统选修144操作系统必修635数据一结构必修746数据一处理选修27PASCAL语言选修648概率统计必修39计算机网络必修14Course表5-4结构列名含义类型允许空Cno课程号char(6)XCname课程名称varchar(20)XCtypc课程类型char(8)Cpno先修课号char(6)Ccredil学分iniSC表5-5 (学生选课表)SnoCnoGrade950011929500128095002195002271950023529501628895018680960011960028

29、82SC表5-6结构根据如下代码创立Student表:自己设置主码,是否为空等列名含义类型是否允许空Sno学号char(6)XCno课程号char(6)XGrade成绩intCREATE TABLE Student (Sno integer,Sname char(5),Ssex char(5),Sbirth dale,Spre real、Sclass char(6),Sdept varchaiX20)CREATETABLE其中 Sno、Sname Ssex 和 Sbirth、Spre、Sclass、Sdept 是表的字段名,integer char(5)、 date、real、char(6)和

30、varchar(20)分别是字段名称的类型。3tU_COU=# 5tU_COU(# 5tU_COU(# 5tU_COU(# 5tU_COU(# 5tU_COU(# 3tU_COU(# 5tU_COU(# 5tU_COU(#CREATE TABLE Student( Sno integer,Sname char(5),Ssex char(5),Sbirth date,Spre integer,Sclass char(6),Sdept varchar (20);:REATE TABLE 3tU_COU=# 3tU_COU(# 5tU_COU(# 5tU_COU(# 5tU_COU(# 5tU_CO

31、U(# 3tU_COU(#CREATE TABLE Course( Cno char(6),Cname varchar(20),Ctype char(8),Cpno char(6),Ccedit integer);:REATE TABLE 5tU_COU=# 5tU_COU(# 5tU_COU(# 5tU_COU(# 5tU_COU(#CREATE TABLE SC( Sno char(6),Cno char(6), Grade integer );ZREATE TABLE图5-2创立数据表根据如下命令将数据插入到Student表中:INSERT INTO Student VALUES(950

32、01,李勇,男,5-1-1977,23,计9501,计算机), (,95002,刘晨,女,4-8-1976,25 ,,计 9502;计算机), (95003,李鸣,女221977,26,英9501,英语) (95004,王敏,女,351977, 20,英 9501英语), (95016/ 金瑾女,11-1-1978, 23,化 9501、化学) (95018,汪劲,男,461977, 21 ,,社 9502社会) (,96001二,张立二,男二,621978,18,哦 9601*;数学), (96002,柳风丁男二,8-18-1979,16,,数 9602,,,数学 INSERT 0 7stu_cou=# 2,尸计算机 (95003*, (95004, (95016*, (95018, ( 96001 S (96002, INSERT 0 7INTO Student VALUES(* 95002,4-8-1976,25, it950女女女男男男,2-2-1977,26,英9501,*3-5-1977,20, 英9501,H-l-1978,23,化9501,4-6-1977,21,社9502,6-2-1978,18,,数9601, 8-18-1979,16,,数9602,语语妇会学英英,(社数图5-3插入数据查看数据是否插入:

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服