国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于游標(biāo)的元組重構(gòu)應(yīng)用研究

2016-12-16 01:07:16許俊
關(guān)鍵詞:游標(biāo)元組學(xué)號(hào)

許俊

(四川職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,四川 遂寧 629000)

基于游標(biāo)的元組重構(gòu)應(yīng)用研究

許俊

(四川職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,四川遂寧629000)

抽取數(shù)據(jù)庫關(guān)系模式的多個(gè)元組的多個(gè)屬性值進(jìn)行重構(gòu),得到單個(gè)元組單一屬性的實(shí)體表示.本文以三個(gè)模式為實(shí)例,詳細(xì)分析了這類關(guān)系模式的結(jié)構(gòu),設(shè)計(jì)元組重構(gòu)算法,并基于游標(biāo)方案實(shí)現(xiàn).

數(shù)據(jù)庫;元組;重構(gòu);游標(biāo)

1 關(guān)系模式設(shè)計(jì)及需求

關(guān)系模式Student、Course、ChooseCourse的設(shè)計(jì)如下:

Student表設(shè)計(jì)

Course表

ChooseCourse表

三個(gè)模式的關(guān)系圖如下:

圖中ChooseCourse為外鍵表,Student ID引用Student(student ID),CourseID引 用Course(CourseID).

三個(gè)模式實(shí)例的模擬數(shù)據(jù)如下:

student表

CourseName表

ChooseCourse表

由三張表的模擬數(shù)據(jù)生成需求成績(jī)報(bào)表,把每個(gè)學(xué)生的選修課程、成績(jī)組合成單一列,再與學(xué)號(hào)、姓名、名次、平均分四列重構(gòu)為單一元組,其模擬形式如下:

?

依據(jù)報(bào)表形式,設(shè)計(jì)成績(jī)報(bào)表Repor ts關(guān)系模式如下:

?

2 關(guān)系模式分析

在ChooseCourse表中存放了學(xué)生學(xué)號(hào)Student ID、課程編號(hào)CourseID、課程成績(jī)Mark,Student表和Course表與ChooseCourse表之間都是1:n關(guān)系,即一個(gè)學(xué)生可選修多門課,在ChooseC-ourse表有該學(xué)生多條選課成績(jī)記錄,一門課可被多名學(xué)生選修,在ChooseCourse表有該課程的多條學(xué)生成績(jī)記錄.Repor ts表一行記錄的學(xué)號(hào)、姓名直接引用Student表可得,名次和平均分是對(duì)ChooseCourse表Mark列直接計(jì)算、排名得到,科目詳細(xì)列必須是某個(gè)學(xué)生實(shí)體的全部選修課程名和成績(jī)完整組合.成績(jī)報(bào)表Repor ts將來可以鏈接到MSWord進(jìn)行郵件合并打印每個(gè)學(xué)生成績(jī)單,或發(fā)送Emai l,也能夠?yàn)镸SExcel提供數(shù)據(jù)源,方便用戶二次數(shù)據(jù)透視.

3 元組重構(gòu)的算法

成績(jī)?cè)M數(shù)據(jù)重構(gòu)就是提取關(guān)系模式ChooseCourse中多個(gè)元組、多個(gè)屬性值重新組合為單一元組、單一屬性的過程.其算法流程圖如左:

數(shù)據(jù)重構(gòu)算法為雙重循環(huán)結(jié)構(gòu).首先查詢計(jì)算全部學(xué)生的學(xué)號(hào)、名次、平均分,在外層循環(huán)依次提取每個(gè)學(xué)號(hào),然后傳入內(nèi)層循環(huán),作為條件,查詢一個(gè)學(xué)生關(guān)聯(lián)元組的所有選修課程名、成績(jī),重構(gòu)為該學(xué)生的科目詳細(xì)描述屬性,最后在外層循環(huán)把此單一屬性值與學(xué)號(hào)、名次、平均分重構(gòu)為單一元組,即為一個(gè)學(xué)生的成績(jī)記錄.當(dāng)外層循環(huán)執(zhí)行完畢后,每個(gè)學(xué)生的成績(jī)記錄作為單一元組重構(gòu)成功.

4 元組重構(gòu)的T-SQL實(shí)現(xiàn)代碼

因?yàn)閷?duì)于每一個(gè)學(xué)號(hào)Student ID列值,在查詢到與其匹配的集合后,必須逐行取出CourseName和Mark,單獨(dú)處理一行,故用基于游標(biāo)的解決方案實(shí)現(xiàn).

--內(nèi)層游標(biāo),以外層游標(biāo)的Student ID作為內(nèi)層游標(biāo)的查詢參數(shù),查詢姓名、課程名、成績(jī).

實(shí)現(xiàn)代碼采用游標(biāo)雙重嵌套,外層游標(biāo)查詢學(xué)號(hào)、名次、平均分,內(nèi)層游標(biāo)組合課程名和成績(jī)?yōu)榭颇吭敿?xì)描述單一屬性.每個(gè)學(xué)生的選修成績(jī)記錄在外層游標(biāo)的最后完整組合,持久化到Repor ts表.

[1]許俊.對(duì)非1NF關(guān)系查詢的探討[J].四川職業(yè)技術(shù)學(xué)院學(xué)報(bào),2013,(5)

[2]許俊.對(duì)Oracle多表關(guān)聯(lián)更新的應(yīng)用研究[J].四川職業(yè)技術(shù)學(xué)院學(xué)報(bào),2015,(2)

[3]蘇冠賢.數(shù)據(jù)庫游標(biāo)對(duì)檔案著錄的創(chuàng)新[J].云南檔案, 2010,(12).

責(zé)任編輯:張隆輝

TP311

A

1672-2094(2016)04-0177-03

2016-06-12

四川省教育廳重點(diǎn)科研項(xiàng)目《基于NoSQL大數(shù)據(jù)技術(shù)的信息搜索方案研究》(編號(hào):15ZA0348)、《網(wǎng)絡(luò)大數(shù)據(jù)測(cè)試基準(zhǔn)研究》(編號(hào):15ZA0349)成果之一.

許俊(1969-),男,四川蓬溪人,四川職業(yè)技術(shù)學(xué)院副教授,碩士.研究方向:軟件工程.

猜你喜歡
游標(biāo)元組學(xué)號(hào)
MySQL數(shù)據(jù)庫下游標(biāo)的設(shè)計(jì)與應(yīng)用
Python核心語法
測(cè)量不確定度在游標(biāo)式輪對(duì)內(nèi)距尺檢定裝置中的應(yīng)用
海量數(shù)據(jù)上有效的top-kSkyline查詢算法*
我們來打牌
嘗試親歷的過程,感受探究的快樂
基于減少檢索的負(fù)表約束優(yōu)化算法
學(xué)生學(xué)號(hào)的妙用
SQL數(shù)據(jù)庫中基于游標(biāo)的數(shù)據(jù)更新
電腦與電信(2015年9期)2015-04-16 01:30:10
與56號(hào)說再見
夏津县| 汾阳市| 武威市| 义马市| 安远县| 万盛区| 霍城县| 东源县| 彩票| 上虞市| 蕲春县| 镇远县| 武强县| 禹城市| 绵竹市| 长宁县| 信宜市| 城口县| 南岸区| 福鼎市| 朝阳区| 申扎县| 平邑县| 修水县| 微博| 凤山县| 当涂县| 谢通门县| 安陆市| 锡林郭勒盟| 勐海县| 来凤县| 林芝县| 定州市| 涡阳县| 开平市| 伊通| 颍上县| 泰安市| 睢宁县| 平谷区|