mysql - 選課系統(tǒng)數(shù)據(jù)庫課程數(shù)據(jù)表的設(shè)計(jì)?
問題描述
大概就是一個(gè)選課系統(tǒng)的網(wǎng)站,其中要實(shí)現(xiàn)學(xué)生選課的功能,一般課程的時(shí)間都是周X 第X節(jié)到第X節(jié),然后我就不知道數(shù)據(jù)表里面的time字段該怎么搞了。。。
感覺放date類型也不對,放string類型也很怪,而且還要展示學(xué)生的課表,到時(shí)候肯定還是按時(shí)間來展示的。。所以求指點(diǎn)這個(gè)字段該怎么設(shè)計(jì)?
問題解答
回答1:你可以把課程,學(xué)生,日程表,選課關(guān)系分開放四個(gè)表。
課程表 課程ID 課程名稱 講師姓名 第幾周到第幾周 ...
學(xué)生 學(xué)生ID 學(xué)生姓名 ...
日程表 日程ID 課程ID 星期幾 第幾節(jié)課 ...
選課關(guān)系 選課關(guān)系ID 學(xué)生ID 課程ID
這樣下來你知道學(xué)生姓名,想要搜索明天下午要上那些課就這么干:從學(xué)生表中根據(jù)姓名獲取學(xué)生ID,從選課關(guān)系根據(jù)學(xué)生ID得到他選過的所有課程的課程ID,從課程表根據(jù)課程ID獲取該每個(gè)課程的開始和結(jié)束時(shí)間,保留符合明天日期的那些課程。再從日程表根據(jù)課程ID獲取明天下午可能要上的課程。大概就這樣吧我想的。我也沒做過這種的,大概猜測了下。希望有幫助。
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. 關(guān)于docker下的nginx壓力測試3. docker - 如何修改運(yùn)行中容器的配置4. angular.js - angularjs的自定義過濾器如何給文字加顏色?5. docker鏡像push報(bào)錯(cuò)6. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””7. java - 如何點(diǎn)擊按鈕,重新運(yùn)行(我是初學(xué)者)?8. 前端 - @media query 使用出現(xiàn)的問題?9. html5和Flash對抗是什么情況?10. html - css氣泡,實(shí)現(xiàn)“倒三角(不知道算不算三角了)”可透明的。

網(wǎng)公網(wǎng)安備