數(shù)據(jù)庫設計題及數(shù)據(jù)庫設計作業(yè)_第1頁
數(shù)據(jù)庫設計題及數(shù)據(jù)庫設計作業(yè)_第2頁
數(shù)據(jù)庫設計題及數(shù)據(jù)庫設計作業(yè)_第3頁
數(shù)據(jù)庫設計題及數(shù)據(jù)庫設計作業(yè)_第4頁
數(shù)據(jù)庫設計題及數(shù)據(jù)庫設計作業(yè)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、某企業(yè)集團有若干工廠,每個工廠生產多種產品,且每一種產品可以在多個工廠生產,每個工廠按照固定的計劃數(shù)量生產產品;每個工廠聘用多名職工,且每名職工只能在一個工廠工作,工廠聘用職工有聘期和工資。工廠的屬性有:工廠編號、廠名、地址,產品的屬性有:產品編號、產品名、規(guī)格,職工的屬性有:職工號、姓名。(1)根據(jù)上述語義設計E-R模型; 答: (2)將E-R模型轉換成關系模型;(要求:1:1或1:n進行合并)答:轉換后的關系模式如下: 工廠(工廠編號,廠名,地址) 產品(產品編號,產品名,規(guī)格) 職工(職工號,姓名,工廠編號,聘期,工資) 生產(工廠編號,產品編號,計劃數(shù)量)(3)指出轉換結果中每個關系模式的主碼和外碼。答:工廠:主碼是工廠編號 產品:主碼是產品編號 職工:主碼是職工號,外碼是工廠編號 生產:主碼是(工廠編號,產品編號),外碼是工廠編號、產品編號。2、已知每個職工可以參加多個項目,每個項目可以由多名職工參加;每個項目使用多種零件,每種零件可被多個項目使用。其中:職工有:職工號,職工名;零件有:零件號,零件名;項目有:項目號,項目名;每個項目使用某種部件有相應數(shù)量,職工都有參加項目的日期。(1)據(jù)上述語義設計E-R模型,并在圖上注明屬性、聯(lián)系類型。(2)將E-R模型轉換成關系數(shù)據(jù)模型,并指出每一個關系的主鍵和外鍵(如果存在)。職工(職工號,職工名) 主碼:職工號外碼:無項目(項目號,項目名) 主碼:項目號外碼:無零件(零件號,零件名) 主碼:零件號外碼:無參加(職工號,項目號,參加日期) 主碼:(職工號,項目號)外碼:職工號,項目號使用(項目號,零件號,數(shù)量) 主碼:(項目號,零件號)外碼:項目號,零件號3.某圖書信息管理系統(tǒng)中存在如下實體:書:具有屬性書號、書名、作者、出版社、數(shù)量讀者:具有屬性讀者編號、姓名、性別、年齡、聯(lián)系電話、所在單位部門:具有屬性部門編號、部門名稱、地址員工:具有屬性員工編號、姓名、職稱、年齡、聯(lián)系方式其中一個讀者可以借閱多本書,一種書可以被多個讀者借閱,可以記錄借出日期和應還日期。一個部門具有多個員工,一個員工只屬于一個部門。一個員工可以管理多種書籍,一種書籍只屬于一個員工負責管理。(1)根據(jù)上述語義畫出該信息管理系統(tǒng)的E-R圖,并在圖上注明屬性、聯(lián)系類型。(10分) 答: 聯(lián)系電話聯(lián)系電話(2)將E-R模型轉換成關系數(shù)據(jù)模型,寫出關系模式,并指出每一個關系的主碼和外碼(如果存在)。(要求1:1或1:n的聯(lián)系進行合并處理)(10分)答:書(書號,書名,作者,出版社,數(shù)量,員工編號) 主碼:書號 外碼:員工編號讀者(讀者編號,姓名,性別,年齡,聯(lián)系電話,所在單位) 主碼:讀者編號部門(部門編號,部門名稱,地址) 主碼:部門編號員工(員工編號,姓名,職稱,年齡,聯(lián)系方式,部門編號) 主碼:員工編號 外碼:部門編號借閱(讀者編號,書號,借出日期,應還日期) 主碼:(讀者編號,書號,借出日期) 外碼:讀者編號,書號數(shù)據(jù)庫設計:班級通訊錄一.班級通訊錄程序設計(C語言):#include<conio.h>#include<stdio.h>#include<iostream>#include<string>#include<iomanip>#include<fstream>#include<cstdlib>usingnamespacestd;classbook{public:book();//默認構造函數(shù)charinter_face();//首頁voidadd_person();//添加聯(lián)系人voiddel_person();//刪除聯(lián)系人voidshow_all();//顯示所有聯(lián)系人voidalter();//修改信息voidselect();//查詢聯(lián)系人voidsave_new();//保存新增加的聯(lián)系人private:stringname;//姓名stringaddress;//地址stringnumber;//電話號碼stringpost;//郵編stringqq;//QQ號};structrecord{bookobject;//雙向鏈表中的數(shù)據(jù)域是是一個記錄類record*prior;//指向前軀record*next;//指向后繼};book::book(){name="\0";address="\0";number="\0";post="\0";qq="\0";}//首頁charbook::inter_face(){system("cls");cout<<endl;cout<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★"<<endl<<"\t\t※※"<<endl<<"\t\t※班級通迅錄※"<<endl<<"\t\t※※"<<endl<<"\t\t※1.添加新聯(lián)系人.4.修改信息.※"<<endl<<"\t\t※※"<<endl<<"\t\t※2.刪除聯(lián)系人.5.查詢聯(lián)系人.※"<<endl<<"\t\t※※"<<endl<<"\t\t※3.顯示所有聯(lián)系人.6.關閉通迅錄.※"<<endl<<"\t\t※※"<<endl<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★"<<endl<<endl<<"\t\t\t選擇:";charchoose;cin>>choose;fflush(stdin);returnchoose;}//添加聯(lián)系人voidbook::add_person(){cout<<endl<<"根據(jù)下面提示輸入新聯(lián)系人信息"<<endl<<endl<<"姓名:";cin>>name;fflush(stdin);cout<<"電話:";cin>>number;fflush(stdin);cout<<"QQ:";cin>>qq;fflush(stdin);cout<<"郵編:";cin>>post;fflush(stdin);cout<<"地址:";cin>>address;fflush(stdin);save_new();cout<<endl<<endl<<"新聯(lián)系人信息已經保存好!!!!!"<<endl<<endl;system("pause");}//刪除聯(lián)系人voidbook::del_person(){ofstreamoutData("temp.txt",ios::out);ifstreaminData("pbook.txt",ios::in);if(!outData||!inData){cout<<endl<<"對不起!!!!找不到文件!!!!"<<endl;system("pause");return;}stringsign;cout<<endl<<"你要刪除輸入姓名或電話號:";cin>>sign;stringstr1;boolflag=true;stringstr;while(inData>>name>>number){getline(inData,str);if((sign==name)||(sign==number)){cout<<endl<<"你想刪除的聯(lián)系人:"<<endl<<endl;cout<<str1<<endl;cout<<setiosflags(ios::left)<<setw(17)<<name<<""<<number<<str<<endl;flag=false;break;}outData<<setiosflags(ios::left)<<setw(17)<<name<<""<<number<<str<<endl;}if(flag){cout<<endl<<"對不起!!!聯(lián)系人中沒你找的人!!!!"<<endl<<endl;}else{while(getline(inData,str)){outData<<str<<endl;}outData.close();inData.close();ofstreamout("pbook.txt",ios::out);ifstreamin("temp.txt",ios::in);if(!out||!in){cout<<endl<<"對不起不能打開文件!!!"<<endl<<endl;system("pause");return;}while(getline(in,str)){out<<str<<endl;}out.close();in.close();cout<<endl<<"這個人的信息已經從你的通迅錄中刪除!!!"<<endl<<endl;}system("pause");}//顯示所有聯(lián)系人voidbook::show_all(){ifstreaminData("pbook.txt",ios::in);if(!inData){cout<<endl<<"對不起!!!!沒有找到文件!!!!!"<<endl;system("pause");return;}boolflag=true;stringrecord;while(getline(inData,record)){if(flag){cout<<endl<<"所有聯(lián)系人信息如下:"<<endl;}cout<<record<<endl;flag=false;}if(flag){cout<<endl<<"你的通迅錄中沒有聯(lián)系人!!!!!"<<endl<<endl;}else{cout<<endl<<"所有聯(lián)系人已經全部顯示出來!!!!!"<<endl<<endl;}system("pause");}//修改信息voidbook::alter(){ifstreaminData("pbook.txt",ios::in);if(!inData){cout<<endl<<"對不起不能打開文件!!!!!"<<endl<<endl;system("pause");return;}stringsign;cout<<endl<<"請輸入你想要修改的聯(lián)系人的姓名或電話號碼:";cin>>sign;fflush(stdin);stringstr1;getline(inData,str1);record*H=newrecord;record*p=H;record*q=H;boolflag=true;while(inData>>p->>>p->object.number>>p->object.qq>>p->object.post>>p->object.address){p->next=newrecord;p=p->next;p->prior=q;q->next=p;q=p;}p->next=NULL;inData.close();p=H;while(p){if((p->==sign)||(p->object.number==sign)){if(flag){cout<<endl<<"你想修改你聯(lián)系人的信息如下:"<<endl<<endl;cout<<endl<<str1<<endl;cout<<setiosflags(ios::left)<<setw(17)<<p-><<""<<setw(16)<<p->object.number<<""<<setw(18)<<p->object.qq<<""<<setw(14)<<p->object.post<<""<<setw(20)<<p->object.address<<endl;flag=false;}cout<<endl<<"請根據(jù)下面提示修改信息:"<<endl;cout<<"姓名:";cin>>p->;fflush(stdin);cout<<"電話號:";cin>>p->object.number;fflush(stdin);cout<<"QQ:";cin>>p->object.qq;fflush(stdin);cout<<"郵編:";cin>>p->object.post;fflush(stdin);cout<<"地址:";cin>>p->object.address;fflush(stdin);break;}p=p->next;}if(flag){cout<<endl<<"你的通迅錄中沒有你找的聯(lián)系人!!!!"<<endl<<endl;system("pause");return;}else{ofstreamout("pbook.txt",ios::out);if(!out){cout<<endl<<"對不起!!!不能打開文件!!!!"<<endl;system("pause");return;}out<<str1<<endl;p=H->next;while(p){out<<setiosflags(ios::left)<<setw(17)<<p-><<""<<setw(16)<<p->object.number<<""<<setw(18)<<p->object.qq<<""<<setw(14)<<p->object.post<<""<<setw(20)<<p->object.address<<endl;p=p->next;}out.close();cout<<endl<<"信息已經修改完成!!!!"<<endl<<endl;system("pause");}}//查詢聯(lián)系人voidbook::select(){ifstreaminData("pbook.txt",ios::in);if(!inData){cout<<endl<<"對不起!!!!文件找不到!!!!"<<endl;system("pause");return;}stringsign;cout<<endl<<"輸入你想查找的聯(lián)系人的姓名或電話號碼:";cin>>sign;fflush(stdin);stringstr1;boolflag=true;stringstr;while(inData>>name>>number){getline(inData,str);if((name==sign)||(number==sign)){cout<<endl<<"你要查找的聯(lián)系人是:"<<endl<<endl;cout<<str1<<endl;cout<<setiosflags(ios::left)<<setw(17)<<name<<number<<str<<endl;flag=false;break;}}}voidbook::save_new(){ofstreamoutData("pbook.txt",ios::app);if(!outData){cout<<endl<<"對不起!!!打開文件失敗!!!!"<<endl<<endl;system("pause");return;}outData<<setiosflags(ios::left)<<setw(17)<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論