資料庫設計學生管理
A. 學生信息管理系統的資料庫設計
選修課一張表:課程,課程編號
學生一張表:個人信息,學號(班級學院可在做一張關聯也可在這張表裡,關聯的話,會有一個班級的屬性,會再多一張班級表)
映射關系一張表:課程編號、學號(成績)
通過最後一張表關聯前兩張就可以了,可以再最後一張里加成績,就成了成績與科目人關聯的表了
主鍵、外鍵都是學號和課程編號
B. 求Oracle設計的學生選課管理系統的資料庫(包含SQL語句)
我理解樓主是要一個資料庫的設計方案,其中包括相關SQL、邏輯關系、業務處理方法。
(Ps:偶平時工作就是做設計和開發的,以下所有SQL經過oracle測試)
學生表 Student:
學生ID(主鍵)、學生代碼、學生名稱、備用欄位1、備用欄位2、備用欄位3;
課程表 Class:
課程ID(主鍵)、課程代碼、課程名稱、備用欄位1、備用欄位2、備用欄位3;
MAPPING表 StuClass:
主鍵ID、學生ID、課程ID。
-- Create table student
create table student
(
studentid number(22),
studentcode varchar2(16),
studentname varchar2(16),
attr1 varchar2(64),
attr2 varchar2(64),
attr3 varchar2(64)
);
-- Create primary key constraints
alter table student
add constraint student_pk primary key (STUDENTID);
-- Create table class
create table class
(
classid number(22),
classcode varchar2(16),
classname varchar2(16),
attr1 varchar2(64),
attr2 varchar2(64),
attr3 varchar2(64)
);
-- Create primary key constraints
alter table class
add constraint class_pk primary key (CLASSID);
-- Create table stuclass
create table stuclass
(
stuclassid number(22),
studentid varchar2(16),
classid varchar2(16)
);
-- Create primary key constraints
alter table stuclass
add constraint stuclass_pk primary key (STUCLASSID);
系統初始化時錄入主數據:學生信息、課程信息。
APP做業務處理:
1、學生選課程(單選或多選):insert into stuclass values(?,?,?);
2、查看所有學生選擇的所有課程:
select s.studentcode,s.studentname,c.classcode,c.classname
from student s left join stuclass sc on s.studentid=sc.studentid
left join class c on sc.classid=c.classid order by s.studentid
(如查看某些學生或某個學生選擇了哪些課程,可在後面加where條件)
3、查看所有課程有哪些學生選擇:
select c.classcode,c.classname,s.studentcode,s.studentname
from class c left join stuclass sc on sc.classid=c.classid
left join student s on s.studentid=sc.studentid order by c.classid
(如查查看某些課程或某個課程有哪些學生選擇,可在後面加where條件)