當前位置:首頁 » 操作系統 » 學生成績資料庫

學生成績資料庫

發布時間: 2022-08-22 09:06:07

㈠ 用sql語言建立一個學生成績資料庫

create database [資料庫名]; user [該資料庫名]; --學生表 create table [學生表表名]( sId int primary key, --學生ID編號,主鍵 sName varchar(10) unique not null, --學生名字 ); --科目表 create table [科目表表名]( sjId int primary key, --科目ID編號,主鍵 sjName varchar(10) unique not null, --科目名稱 ); --成績表 create table [成績表表名] rId int primary key, --成績ID編號,主鍵 sjId int references [科目表表名](sjId), --科目ID編號,繼承科目表的ID編號 sId int references [學生表表名](sId), --學生ID編號,繼承學生表的ID編號 result float not null --成績 ); --查詢語句 select r.rId,sj.sjId,sj.sjName,su.sId,su.sName,r.result from [成績表表名] r, join [科目表表名] sj on sj.sjId=r.sjId, join [學生表表名] su on su.sId=r.sId;

㈡ 用SQL語言如何創建學生成績資料庫的代碼

create database [資料庫名];
user [該資料庫名];

--學生表
create table [學生表表名](
sId int primary key, --學生ID編號,主鍵
sName varchar(10) unique not null, --學生名字
);

--科目表
create table [科目表表名](
sjId int primary key, --科目ID編號,主鍵
sjName varchar(10) unique not null, --科目名稱
);

--成績表
create table [成績表表名]
rId int primary key, --成績ID編號,主鍵
sjId int references [科目表表名](sjId), --科目ID編號,繼承科目表的ID編號
sId int references [學生表表名](sId), --學生ID編號,繼承學生表的ID編號
result float not null --成績
);

--查詢語句
select r.rId,sj.sjId,sj.sjName,su.sId,su.sName,r.result
from [成績表表名] r,
join [科目表表名] sj on sj.sjId=r.sjId,
join [學生表表名] su on su.sId=r.sId;

㈢ 學生成績管理資料庫的建立

你excel就可

㈣ 如何用SQL建立一個學生成績管理系統資料庫

首先在SQL中利用企業管理器或向導建立一個資料庫,命名為學生管理系統,啟動SQL Sever服務,運行企業管理器,單擊要創建資料庫的伺服器左邊的加號圖標,展開樹形目錄,在「資料庫」節點上右擊滑鼠,在彈出的快捷菜單中選則「新建資料庫」命令,然後按照提示一步步建立資料庫,不再詳細敘述。假設學生管理系統下有三個表,分別為學生表、課程表、修課表,表的結構分別如下:學生表(student) (學號(sno) 普通編碼定長字元類型,長度7,主碼,姓名(sname) 普通編碼定長字元類型,長度8,非空,性別(ssex) 統一編碼定長字元類型,長度1,年齡(sage) 微整型,所在系(sdept) 統一編碼可變長字元類型,長度20)課程表(course) (課程號(cno) 普通編碼定長字元類型,長度6,主碼,課程名(cname) 統一編碼定長字元類型,長度10,非空,學分(credit) 小整型,學期(semester) 小整型)修課表(sc)(學號(sno) 普通編碼定長字元類型,長度7,主碼,外碼課程號(cno) 普通編碼定長字元類型,長度6,主碼,外碼成績(grade) 小整型,修課類別(type)普通編碼定長字元類型,長度4)則創建表的語句分別為:create table Student(Sno char(7) primary key,Sname char(8) not null,Ssex nchar(1),Sage tinyint,Sdept nvarchar(20))create table Course(Cno char(6) primary key,Cname nchar(10) not null,Credit smallint,Semester smallint)create table SC(Sno char(7),Cno char(6),Grade smallint,Type char(4),primary key(Sno,Cno),Foreign key(Sno) References Student (Sno),Foreign key(Cno) References Course (Cno))各表的結構大體如此,如有變化可自行修改。 以上資料庫和表就基本建立好了,然後就可以通過數據導入或SQL語句等向資料庫中添加學生的各項具體數據了。
SQL語言,是結構化查詢語言(Structured Query Language)的簡稱。SQL語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

㈤ 如何用SQL建立一個學生成績管理系統資料庫

首先在SQL中利用企業管理器或向導建立一個資料庫,命名為學生管理系統,
啟動SQL
Sever服務,運行企業管理器,單擊要創建資料庫的伺服器左邊的加號圖標,展開樹形目錄,在「資料庫」節點上右擊滑鼠,在彈出的快捷菜單中選則「新建資料庫」命令,然後按照提示一步步建立資料庫,不再詳細敘述。
假設學生管理系統下有三個表,分別為學生表、課程表、修課表,表的結構分別如下:
學生表(student)
(
學號(sno)
普通編碼定長字元類型,長度7,主碼,
姓名(sname)
普通編碼定長字元類型,長度8,非空,
性別(ssex)
統一編碼定長字元類型,長度1,
年齡(sage)
微整型,
所在系(sdept)
統一編碼可變長字元類型,長度20

課程表(course)
(
課程號(cno)
普通編碼定長字元類型,長度6,主碼,
課程名(cname)
統一編碼定長字元類型,長度10,非空,
學分(credit)
小整型,
學期(semester)
小整型

修課表(sc)(
學號(sno)
普通編碼定長字元類型,長度7,主碼,外碼
課程號(cno)
普通編碼定長字元類型,長度6,主碼,外碼
成績(grade)
小整型,
修課類別(type)普通編碼定長字元類型,長度4

則創建表的語句分別為:
create
table
Student(
Sno
char(7)
primary
key,
Sname
char(8)
not
null,
Ssex
nchar(1),
Sage
tinyint,
Sdept
nvarchar(20)
)
create
table
Course(
Cno
char(6)
primary
key,
Cname
nchar(10)
not
null,
Credit
smallint,
Semester
smallint
)
create
table
SC(
Sno
char(7),
Cno
char(6),
Grade
smallint,
Type
char(4),
primary
key(Sno,Cno),
Foreign
key(Sno)
References
Student
(Sno),
Foreign
key(Cno)
References
Course
(Cno)
)
各表的結構大體如此,如有變化可自行修改。
以上資料庫和表就基本建立好了,然後就可以通過數據導入或SQL語句等向資料庫中添加學生的各項具體數據了。

㈥ 創建資料庫【學生成績資料庫】的方法有哪幾種,分別是什麼

1、在「新建」菜單中建立資料庫
2、在項目管理器中建立資料庫
3、使用命令建立資料庫 CREAT DATABASE[資料庫名/?]

㈦ 利用C++語言建立一個學生成績資料庫,可以包括以下功能:

別人的程序:需要你再修改一下 #include<iostream.h> #include<iomanip.h> #include<string.h> #define dmzzuida 100 struct dmzstudent //聲明學生信息的結構體 { char dmzname[20]; //學生的名字:20個字元長度 int dmzxh; //學號 float dmzsx; //數學成績 float dmzyw; //語文成績 float dmzyy; //英語成績 float dmzzf; //總分 }dmzstudent1; int dmzshuru(dmzstudent dmzstud[])//輸入學生的數據,參數dmzstud是一個學生信息的數組,用於返回的 { int dmzrenshu; //定義一個int型變數,記錄人數 cout<<"請輸入人數:"; //顯示提示信息 cin>>dmzrenshu; //獲取從鍵盤輸入的數據 if(dmzrenshu>dmzzuida)dmzrenshu=dmzzuida;//如果輸入的人數大於100了,那麼就讓這個數等於100. for(int dmza=0;dmza<dmzrenshu;dmza++)//循環輸入學成的各個信息 { cout<<"輸入第"<<dmza+1<<"學生的考號:";//顯示輸入第幾個學生的學號 cin>>dmzstud[dmza].dmzxh; //輸入學號 cout<<"輸入第"<<dmza+1<<"學生的名字:";//提示輸入名字 cin>>dmzstud[dmza].dmzname; //輸入名字 cout<<"輸入第"<<dmza+1<<"學生的語文成績:";//提示輸入語文成績 cin>>dmzstud[dmza].dmzyw; //輸入語文成績 cout<<"輸入第"<<dmza+1<<"學生的數學成績:";//提示輸入數學成績 cin>>dmzstud[dmza].dmzsx; //輸入數學成績 cout<<"輸入第"<<dmza+1<<"的學生英語成績:";//提示輸入英語成績 cin>>dmzstud[dmza].dmzyy; //輸入英語成績 dmzstud[dmza].dmzzf=dmzstud[dmza].dmzyw+dmzstud[dmza].dmzsx+dmzstud[dmza].dmzyy;//輸入完成後,計算一個總分,記錄在dmzzf裡面 } return dmzrenshu;//返回輸入的人數給調用者 } void dmzshuchu(dmzstudent dmz[],int dmzrenshu)//輸出函數,把學生的信息全部顯示出來,參數為學生信息數組和學生的人數 { cout<<setiosflags(ios::left)<<setw(10)<<"姓名"//設置格式,左對齊,每個數據的大小是10個字元 <<setw(10)<<"學號" <<setw(10)<<"數學成績" <<setw(10)<<"語文成績" <<setw(10)<<"英語成績" <<setw(10)<<"總成績" <<endl; for(int dmzj=0;dmzj<dmzrenshu;dmzj++)//根據學生的人數,循環顯示所有的信息 { cout<<setw(10)<<dmz[dmzj].dmzname <<setw(10)<<dmz[dmzj].dmzxh <<setw(10)<<dmz[dmzj].dmzsx <<setw(10)<<dmz[dmzj].dmzyw <<setw(10)<<dmz[dmzj].dmzyy <<setw(10)<<dmz[dmzj].dmzzf <<endl; } } void dmzchaxun(dmzstudent dmzstud[],int dmzrenshu)//查詢函數,傳入參數為學生信息的數組和學生人數 { int dmza; //記錄輸入的學號,按學號查詢 cout<<"學生信息查詢"<<endl; //提示信息 cout<<"請輸入所要查詢的學生考號:"; //提示輸入學號 cin>>dmza; //記錄鍵盤輸入的學號 for(int dmzb=0;dmzb<dmzrenshu;dmzb++)//在學生信息數組裡面循環查找 if(dmza==dmzstud[dmzb].dmzxh) //如果輸入的學號在學生信息數組裡面,那麼顯示這個學生的信息 { cout<<"學號:"<<setw(5)<<dmzstud[dmzb].dmzxh//依次顯示學號,姓名,各科成績 <<"姓名:"<<setw(5)<<dmzstud[dmzb].dmzname <<"語文:"<<setw(5)<<dmzstud[dmzb].dmzyw <<"數學:"<<setw(5)<<dmzstud[dmzb].dmzsx <<"英語:"<<setw(5)<<dmzstud[dmzb].dmzyy <<setw(5)<<"總分:"<<dmzstud[dmzb].dmzzf <<endl; break; } if(dmzb==dmzrenshu)cout<<"無該學生的資料"<<endl;//如果沒有找到,那麼顯示無該學生的資料 } void dmzxuehaopaixu(dmzstudent dmz[],int dmzn)//根據學號排序,輸入參數為:學生信息數組,學生人數 { for(int dmzi=0;dmzi<dmzn-1;dmzi++)//在學生人數中循環比較學號 { for(int dmzj=dmzi+1;dmzj<=dmzn-1;dmzj++)//2次循環, if(dmz[dmzi].dmzxh>dmz[dmzj].dmzxh)//如果大於就交換的話,那麼這是學號小的排在前面 {//下面三步是交換兩個學生的信息 dmzstudent1=dmz[dmzi]; dmz[dmzi]=dmz[dmzj]; dmz[dmzj]=dmzstudent1; } } dmzshuchu(dmz,dmzn);//交換完成後,調用輸出函數,把排序後的學生信息顯示出來。 cout<<endl; } void dmztongji(dmzstudent dmzstud[],int dmzrenshu)//統計函數,參數為:學生信息數組,學生人數 { float dmzmax=dmzstud[0].dmzzf,dmzmin=dmzstud[0].dmzzf,dmzfenshu;//定義最大和最小成績的初始值 for(int dmza=0;dmza<dmzrenshu;dmza++) //循環在學生信息裡面找總分的最大分和最小分 { dmzmax=dmzstud[dmza].dmzzf>dmzmax?dmzstud[dmza].dmzzf:dmzmax;//最大總分 dmzmin=dmzstud[dmza].dmzzf<dmzmin?dmzstud[dmza].dmzzf:dmzmin;//最小總分 } cout<<"總分最高分:"<<setw(10)<<dmzmax<<"\t"<<"總分最低分:"<<setw(10)<<dmzmin<<endl;//把得到的分顯示出來 cout<<"某一總分上的人數查詢"<<endl;//查找在輸入的分之上的人數 cout<<"請輸入所要查詢的總分:";//提示信息,輸入一個邊界值,用於判斷比這個分大的有多少 cin>>dmzfenshu; //記錄輸入的分數 int dmzb=0; for(dmza=0;dmza<dmzrenshu;dmza++)//循環查找 if(dmzstud[dmza].dmzzf>=dmzfenshu)dmzb++;//總分比輸入的大,那麼dmzb就自加一次。 cout<<dmza<<"分以上的人數有:"<<dmzb<<endl;//循環完畢後,顯示有多少人的總分大於輸入的分數。 } void dmzzfpaixu(dmzstudent dmz[],int dmzn)//按照總分排序的函數,參數為:學生信息數組,學生人數 { for(int dmzi=0;dmzi<dmzn-1;dmzi++)//在學生人數中循環比較總分 { for(int dmzj=dmzi+1;dmzj<=dmzn-1;dmzj++)//2次循環 if(dmz[dmzi].dmzzf>dmz[dmzj].dmzzf)//比較總分,如果大於就交換的話,那麼這是總分小的排在前 {//下面三步是交換兩個學生的信息 dmzstudent1=dmz[dmzi]; dmz[dmzi]=dmz[dmzj]; dmz[dmzj]=dmzstudent1; } } dmzshuchu(dmz,dmzn);//交換完成後,調用輸出函數,把排序後的學生信息顯示出來 cout<<endl;//顯示一個空行 } void dmzxingmingpaixu(dmzstudent dmz[],int dmzn)//按姓名排序,比較字元串,參數為:學生信息數組,學生人數 { for(int dmzi=0;dmzi<dmzn-1;dmzi++)//在學生人數中循環比較總分 { for(int dmzj=dmzi+1;dmzj<=dmzn-1;dmzj++)//2次循環 if(strcmp(dmz[dmzi].dmzname,dmz[dmzj].dmzname)>0)//名字按降序排列, {//交換學生的信息 dmzstudent1=dmz[dmzi]; dmz[dmzi]=dmz[dmzj]; dmz[dmzj]=dmzstudent1; } } dmzshuchu(dmz,dmzn);//交換完成後,調用輸出函數,把排序後的學生信息顯示出來 cout<<endl;//顯示一個空行 } void main()//主函數 { int dmzg,dmzx;//定義兩個臨時變數 dmzstudent dmzstud[100];//定義一個學生數組,個數為100. do//循環 {//下面7行市提示信息 cout<<"1 學生信息輸入"<<endl; cout<<"2 成績表輸出"<<endl; cout<<"3 成績查詢"<<endl; cout<<"4 成績統計"<<endl; cout<<"5 排序並輸出"<<endl; cout<<"6 退出"<<endl; cout<<"請輸入要執行的操作:"; cin>>dmzx; //記錄用戶的輸入 if(dmzx==1)dmzg=dmzshuru(dmzstud);//如果輸入的是1,那麼調用dmzshuru來輸入學生信息,完成後返回學生人數 else if(dmzx==2)//如果輸入的是2,那麼輸出成績表 { cout<<"2 成績表輸出"<<endl; dmzshuchu(dmzstud,dmzg);//調用輸出函數輸出 } else if(dmzx==3)//如果輸入的是3,那麼調用查詢函數進行查詢操作 dmzchaxun(dmzstud,dmzg); else if(dmzx==4)//如果輸入的是4,那麼調用統計函數,統計最高總分,最低總分,同時記錄一個大於多少分的人數 { dmztongji(dmzstud,dmzg); } else if(dmzx==5)//如果輸入的是5,那麼需要再次輸入按哪種方式排序 { int dmza;//記錄選擇,下面幾行是提示信息 cout<<"1 學號排序"<<endl; cout<<"2 總分排序"<<endl; cout<<"3 姓名排序"<<endl; cout<<"4 返回"<<endl; cout<<"請選擇:"<<endl; cin>>dmza;//記錄輸入的選擇 if(dmza==1)//根據選擇來調用,如果是1,那麼調用按學號排序的函數 { dmzxuehaopaixu(dmzstud,dmzg); } else if(dmza==2)//如果是2,那麼調用按總分排序的函數 { dmzzfpaixu(dmzstud,dmzg); } else if(dmza==3)//如果是3,那麼調用按姓名排序的函數 { dmzxingmingpaixu(dmzstud,dmzg); } else if(dmza==4)//如果是4,那麼顯示返回 cout<<"返回"<<endl; else cout<<"您的輸入有誤"<<endl;//其他值,提示你輸入錯誤 } else if(dmzx==6)//如果選擇6,那麼顯示退出 cout<<"6 退出"<<endl; else cout<<"您的輸入有誤請重新輸入"<<endl;//其他值,顯示輸入錯誤 }while(dmzx!=6);//不等於6的情況再循環,等於6了,那麼就退出程序了。 }

㈧ 學生成績管理資料庫包含哪些數據表數據表之間的關系是哪種以什麼欄位聯系

主要有 學生、班級、科目、成績、管理員等表。
學生里關聯了班級;成績中關聯了學生、科目,記錄了成績值;管理員用於登錄。
欄位或代碼的話建議網路查一下學生成績管理系統,現在這樣的系統比較多,可作為參考。

㈨ 資料庫名:學生成績資料庫

(1). 題干有問題,課程名只在課程表中存,需要關聯三個表才能查出全部要求數據,sql語句如下:
select A.學號, A.姓名, B.課程名, C.分數 FROM 學生表 A, 課程表 B, 成績表 C where A.學號=C.學號 and B.課程號=C.課程號
(2).
insert into 學生表(班級編號,學號,姓名,性別) values ('00001','00009','張三','男')
(3).
select A.課程號, A.課程名, sum(b.分數) 總成績, avg(b.分數) 平均成績, max(b.分數) 最高分
from 課程表 A, 成績表 B
where A.課程號=B.課程號
group by A.課程號,A.課程名
having max(b.分數) > 90

熱點內容
安卓手機如何變換桌面 發布:2025-05-16 13:39:33 瀏覽:514
sql存儲過程命令 發布:2025-05-16 13:17:54 瀏覽:145
用紙做解壓小玩具西瓜 發布:2025-05-16 13:04:09 瀏覽:935
區域網xp無法訪問win7 發布:2025-05-16 13:03:58 瀏覽:942
油卡如何修改密碼 發布:2025-05-16 13:00:35 瀏覽:901
安卓手機如何拼照片 發布:2025-05-16 12:58:23 瀏覽:374
深入淺出python 發布:2025-05-16 12:56:52 瀏覽:655
國二c語言vc2010怎麼編譯運行 發布:2025-05-16 12:53:49 瀏覽:424
華為熱點哪裡看密碼 發布:2025-05-16 12:53:44 瀏覽:515
新手如何用java寫安卓app 發布:2025-05-16 12:53:07 瀏覽:402