实验2,数据库表的创建与维护_实验2创建和维护表

2020-02-27 其他范文 下载本文

实验2,数据库表的创建与维护由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验2创建和维护表”。

《数据库原理》实验报告

实验名称 数据库表/视图的创建与维护实验

班 级

2011211309

组 号

组员姓名 浦倩 杨洋

实验目的1. 掌握将E-R图转换为数据库逻辑模式(关系表)的方法。

2. 通过进行数据库表的建立操作,熟悉并掌握在Microsoft SQL Server数据库中建立表的方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句。

3. 通过对Microsoft SQL Server数据库中建立、维护视图的实验,熟悉Microsoft SQL Server数据库中建立和维护视图的方法,理解和掌握视图的概念。

4. 掌握从Excel表向Microsoft SQL Server关系数据库导入数据的方法,利用实际数据建立GSM网络配置数据库。实验环境

采用Microsoft SQL Server数据库管理系统作为实验平台。实验内容与步骤

1.阅读《GSM移动通信网络配置数据库》课程实验背景资料-11-v4.doc,将其中数据需求转化为E-R图。具体的E-R物理模型图如下:(主键和外键关联已在图中显示)

2.写好SQL脚本文件(包括多个create table、create view等命令),一次性生成表和视图,在Microsoft SQL Server中打开SQL脚本文件并执行。写好的SQL脚本见附录。

3.数据导入

选择要导入的数据源,原始数据要进行去空行,删除中文行等操作。

选择要导入的数据库名。

选择复制整个表

将数据源和数据库中的表对应起来。

在映射数据属性的时候,相同的名字系统会自动对应。如果要导入的数据源和关系中属性名字不相同的情况下,可以编辑映射将他们联系起来。

成功导入数据。(因为导入数据可能出现一些小问题,所以本次实验的所有实体数据是分开导入的。)

4.创建视图(脚本见附录)

A.在表“小区基本信息”上创建“LAC号为14121的小区基本位置信息”视图CellInfo,属性包括(CellID、所属地区、LAC号、经度、纬度)。

B.在表“20个小区一周分钟级话务数据”上创建“全速率话务量平均值大于23的小区话务量数据信息”视图CellCallInfo,属性包括(CellID、平均半速率话务量率、平均拥塞率)。

C.创建“MscID = 5214的MSC管辖的BTS的基本信息,及其BTS对应的天线基本信息。

附录:(SQL脚本)

create view CellInfo as select CellID,AreaName,LAC,Longitude,Latitude from CELL where LAC=14121 go create view CellCallInfo as(select CELLID,avg(rate)as avg_r,avg(callcongs)as avg_c from HuaWu group by HuaWu.CELLID having avg(traff)>23)Go create view ParMscInfo as select BTS.*,Antenna.* from MSC,BSC,BTS,CELL,Antenna where MSC.MscId=5214 and MSC.MscId=BSC.MscId and BSC.BscId=BTS.BscId and BTS.BtsName=CELL.BtsName and CELL.CellId=Antenna.CellId go

use [victory] Go create table MSC(MscID int not null, MscName char(256)null, MscCompany char(256)null, MscLongitude float null, MscLatitude float null, MscAltitude float null, primary key(MscID))go

/*================*/ /* Table: BSC */ /*================*/ create table BSC(BscId int not null, BscName char(256)null, BscCompany char(256)null, Latitude float null, Longitude float null, MscID int null, primary key(BscId), foreign key(MscID)references MSC)go

/*================*/ /* Table: BTS */ /*================*/ create table BTS(Btsname char(256)not null, BscId int null, Latitude float null, Longitude float null, Altitude float null, BtsCompany char(256)null, BtsPower int null, primary key(Btsname), foreign key(BscId)references BSC)go

/*================*/ /* Table: MS */ /*================*/ create table MS(IMEI char(256)not null, MSISDN char(256)null, UserName char(256)null, MSCompany char(256)null, gsmMspSense float null, gsmMsHeight float null, gsmMspFout float null, MZONE char(256)null, primary key(IMEI))go

/*================*/ /* Table: “CELL” */ /*================*/ create table “CELL”(CellID int not null, LAC int not null, BtsName char(256)null, AreaName char(256)null, Longitude float null, Latitude float null, Direction float null, Bcch int null, primary key(CellID), foreign key(BtsName)references BTS)go create table Antenna(CellID int not null, AntennaHeight float null, HalfPAngle float null, MaxAttenuation float null, Gain float null, AntTilt float null, Pt float null, MsPwt float null, primary key(CellID), foreign key(CellID)references CELL)go

/*================*/ /* Table: PinDian */ /*================*/ create table PinDian(CellID int not null, Freq char(256)not null, primary key(CellID,Freq), foreign key(CellID)references CELL)go

/*================*/ /* Table: LinQu */ /*================*/ create table LinQu(CellID int not null, AdjCellId int null, CellLac float null, AdjCellLac float null, foreign key(CellID)references CELL)go

/*================*/ /* Table: LuCe */ /*================*/ create table LuCe(KeyNum int not null, CellID int null, Latitude float null, Longitude float null, RxLev float null, primary key(KeyNum), foreign key(CellID)references CELL)go

/*================*/ /* Table: HuaWu */ /*================*/ create table HuaWu(CellID int not null, DATA datetime not null, TIME datetime not null, nTCH float null, traff float null, rate float null, thtraff float null, callnum float null, congsnum float null, callcongs float null, primary key(DATA,TIME,CellID), foreign key(CellID)references CELL)go

实验要求 本实验内容比较繁多,要求同学一定要进行完全的实验,并做出详尽的记录。

实验总结

通过本次实验,掌握了如何使用SQL语言创建新的关系,以及设置主键和外键。在创建外键的时候,要注意其引用的主键要在其之前创建,也就是说,在实验开始的时候,我们没有注意到创建不同的关系的顺序问题,导致不能够成功执行脚本。在导入数据的过程中,一周内的话务信息不能够成功导入,问题是话务信息的主键DATA和TIME,仅由这两个属性不能够唯一确定一次话务信息,所以我们只能删除主键,将话务数据导入。另外的问题是,数据源的属性名称可能与数据库中的属性名称不同,这时导入数据时系统不能够自动映射出他们之间的关系,所以要在导入数据时手动编辑映射。编辑脚本语言时,要注意视图必须在最前面。总之,虽然在实验之前已经较熟悉SQL语言的相应应用,但是在实验的过程中仍然会出现很多问题,这让我们收获了耐心严谨的学习态度。

《实验2,数据库表的创建与维护.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
实验2,数据库表的创建与维护
点击下载文档
相关专题 实验2创建和维护表 数据库 实验2创建和维护表 数据库
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文