數據庫實驗五 數據庫設計

數據庫實驗五 數據庫設計

    • 一、實驗目的
    • 二、實驗內容
    • 三、實驗內容
    • 四、驗證性實驗
    • 五、設計性實驗

一、實驗目的

1.了解E-R圖構成要素以及各要素圖元。
2.掌握概念模型E-R圖的繪制方法。
3.掌握概念模型向邏輯模型的轉換原則和步驟。
4.運用sql編程實現

二、實驗內容

1.選取一個應用背景,分析應用和數據需求
2.完成數據庫設計的需求分析報告
3.完成數據庫的概念結構設計,畫出E-R圖(要求,實體不少于3個)
4.完成數據庫的邏輯結構設計,做出表結構和完整性約束設計

三、實驗內容

1.體會數據庫設計的各個階段的任務和工作
2.評價自己設計的數據庫的范式級別

四、驗證性實驗

(1) 某同學需要設計開發班級信息管理系統,希望能夠管理班級與學生信息的數據庫,其中學生信息包括學號,姓名,年齡,性別,班號;班級信息包括班號、年級號、班級人數。
①確定班級實體和學生實體的屬性。
學生:學號,姓名,年齡,性別,班號
班級:班號、班主任、班級人數
②確定班級和學生之間的聯系,給聯系命名并指出聯系的類型。
一個學生只能屬于一個班級,一個班級可以有很多學生,所以和學生間是1對多關系,即1:n
③確定聯系本身的屬性。
屬于
④畫出班級與學生關系的E-R圖。

在這里插入圖片描述
⑤將E-R圖轉化為關系模式,寫出各關系模式并標明各自的碼。
學生(學號,姓名,年齡,性別,班號),主碼為:學號
班級(班號、班主任、班級人數),主碼為:班號

(2)請為電冰箱經銷商設計一套存儲生產廠商和產品信息的數據庫,要求生產廠商的信息包括廠商名稱、地址、電話;產品的信息包括品牌、型號、價格;生產廠商生產某產品的數量和日期。
要求:
① 確定產品實體和生產廠商實體的屬性。
生產廠商:廠商名稱,地址,電話
產品:品牌,型號,價格
②確定產品和生產廠商之間的聯系,給聯系命名并指出聯系的類型。
一個生產廠商可以生產多個產品,一個產品也可以有很多生產廠商生產,所以產品和生產廠商間是m對多關系,即m:n
③確定聯系本身的屬性。
生產
④畫出產品與生產廠商關系的E-R圖。
在這里插入圖片描述
⑤將E-R圖轉化為關系模式,寫出表的關系模式并標明各自的碼。
生產廠商(廠商名稱,地址,電話),主碼為:廠商名稱
產品(品牌,型號,價格),主碼為:品牌,型號
生產(廠商名稱,品牌,型號,數量,日期),主碼為:廠商名稱,品牌,型號

(3) 設某汽車運輸公司想開發車輛管理系統,其中,車隊信息:車隊號、車隊名等;車輛信息有牌照號、廠家、出廠日期等;司機信息有司機編號、姓名、電話等。 車隊與司機之間存在“聘用”聯系,每個車隊可聘用若干司機,但每個司機只能應聘于一個車隊,車隊聘用司機有“聘用開始時間”和“聘期”兩個屬性; 車隊與車輛之間存在“擁有”聯系,每個車隊可擁有若干車輛,但每輛車只能屬于一個車隊; 司機與車輛之間存在著“使用”聯系,司機使用車輛有“使用日期”和“公里數”兩個屬性,每個司機可使用多輛汽車,每輛汽車可被多個司機使用。
①確定實體和實體的屬性。
車隊:車隊號,車隊名
車輛:車牌照號,廠家,生產日期
司機:司機編號,姓名,電話,車隊號
②確定實體之間的聯系,給聯系命名并指出聯系的類型。
車隊與車輛聯系類型是1:n,聯系名稱:擁有,車隊與司機聯系類型是1:n,聯系名稱為聘用;車輛和司機聯系類型為m:n,聯系名稱為:使用。
③確定聯系本身的屬性。
聯系“聘用”的屬性有“聘用開始時間”和“聘期”兩個屬性,聯系“使用“有“使用日期”和“公里數”兩個屬性。
④畫出E-R圖。
在這里插入圖片描述
⑤將E-R圖轉化為關系模式,寫出表的關系模式并標明各自的碼。
車隊(車隊號,車隊名) ,主碼為:車隊號;
車輛(車牌照號,廠家,生產日期,車隊號) ,主碼為:車牌照號;
司機(司機編號,姓名,電話,車隊號,聘用開始時間,聘期),主碼為:司機編號 ;
使用(司機編號,車輛號,使用日期,公里數),主碼為:司機編號,車輛號。

五、設計性實驗

1、為在線圖書銷售系統中的訂單管理模塊設計數據庫。
該模塊的功能設計中有4個實體,具體信息如下表所示。
在這里插入圖片描述

(1)需求分析,用文字描述圖書銷售系統的數據。
①確定用戶實體、書籍實體、訂單實體、訂單明細實體的屬性。
用戶:用戶編號,用戶名,用戶性別
書籍:書籍編號,書籍名稱,書籍價格
訂單:訂單編號,下單時間,訂單總價格

②確定用戶、書籍、訂單、訂單明細之間的聯系,給聯系命名并指出聯系的類型。
用戶與書籍之間的聯系是1:n,聯系名稱:選夠=;
書籍與訂單之間的聯系是n:m,聯系名稱:訂單明細。

③確定聯系本身的屬性。
聯系“訂單明細“有“訂單明細編號”和“書籍數量”兩個屬性。

(2)設計概念模型,畫出E-R圖。
① 創建實體
② 添加屬性
③ 設置每個實體的主碼
④ 添加實體之間的聯系
在這里插入圖片描述
(2)將E-R圖轉化為關系模式,寫出表的關系模式并標明各自的主碼和外碼。
用戶(用戶編號,用戶名,用戶性別),主碼為:用戶編號;
書籍(書籍編號,書籍名稱,書籍價格),主碼為:書籍編號;
訂單(訂單編號,下單時間,訂單總價格),主碼為:訂單編號,外碼為:用戶編號
訂單明細(訂單編號,書籍編號,訂單明細編號,書籍數量),主碼為:訂單明細編號,外碼為:訂單編號,書籍編號

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166310.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166310.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166310.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

線段樹---數據結構學習

線段樹的教程可以參照線段樹 這里推薦 https://oi-wiki.org/ 這個網站,數據結構講的非常透。 線段樹學了很多次忘了很多次,這次打算記錄一下以后方便回顧(leetcode這類題遇見的不算特別多)。 樣板例題 leltcode-307 #題目樣板 class NumArray {private …

醫院手術麻醉信息系統全套源碼,自主版權,支持二次開發

醫院手術麻醉信息系統全套商業源碼,自主版權,支持二次開發 手術麻醉信息系統是HIS產品的中的一個組成部分,主要應用于醫院的麻醉科,屬于電子病歷類產品。醫院麻醉監護的功能覆蓋整個手術與麻醉的全過程,包括手術申請與…

人工智能中的文本分類:技術突破與實戰指導

在本文中,我們全面探討了文本分類技術的發展歷程、基本原理、關鍵技術、深度學習的應用,以及從RNN到Transformer的技術演進。文章詳細介紹了各種模型的原理和實戰應用,旨在提供對文本分類技術深入理解的全面視角。 關注TechLead,分…

Hadoop發行版 Cloudera CDH 6.3.2及CM 安裝包下載(阿里云盤 不限速)

CDH(全稱Cloudera’s Distribution, including Apache Hadoop)是由Cloudera公司構建的Hadoop穩定發行版,不僅含有 Apache Hadoop,還整合了Hive、Spark等組件。 由于CDH已停止維護,且Cloudera不再為CDH提供免費的下載服…

git 使用過程錯誤集合

文章目錄 1、git-credential-manager-core was renamed to git-credential-manager2、credential-manager-core is not a git command. See git --help. 1、git-credential-manager-core was renamed to git-credential-manager 出現以下提示建議盡快更新您的 Git 配置以使用新…

回歸預測 | MATLAB實現SCN隨機配置網絡多輸入單輸出回歸預測

回歸預測 | MATLAB實現SCN隨機配置網絡多輸入單輸出回歸預測 目錄 回歸預測 | MATLAB實現SCN隨機配置網絡多輸入單輸出回歸預測效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 Matlab實現SCN隨機配置網絡多變量回歸預測 1.data為數據集,7個輸入特征&#xff0…

基于Python實現汽車銷售數據可視化+預測【500010086.1】

導入模塊 import numpy as np import pandas as pd from pylab import mpl import plotly.express as px import matplotlib.pyplot as plt import seaborn as sns設置全局字體 plt.rcParams[font.sans-serif][kaiti]獲取數據 total_sales_df pd.read_excel(r"./data/中…

獨孤思維:看了那么多課程,還在問怎么賺錢的都是廢物

你捫心自問: 為什么自己看了那么多賺錢項目,買了那么多課程,對標了那么多大咖,依舊賺不到錢? 是自己智商欠缺嗎,是自己能力不行嗎,是自己沒有時間嗎? 智商欠缺,沒有誰…

機器學習第13天:模型性能評估指標

??主頁 Nowl 🔥專欄《機器學習實戰》 《機器學習》 📑君子坐而論道,少年起而行之 文章目錄 交叉驗證 保留交叉驗證 k-折交叉驗證 留一交叉驗證 混淆矩陣 精度與召回率 介紹 精度 召回率 區別 使用代碼 偏差與方差 介紹 區…

zerotier 搭建 moon中轉服務器 及 自建planet

搭建moon 服務器 環境準備 # 安裝依賴 yum install wget gcc gcc-c git -y yum install json-devel -y# 下載及安裝 curl -s https://install.zerotier.com/ | sudo bash節點ID 配置 配置moon.json文件 cd /var/lib/zerotier-one/# 導出依賴 zerotier-idtool initmoon ide…

SpringBoot項目連接,有Kerberos認證的Kafka

在連接Kerberos認證kafka之前,需要了解Kerberos協議 二、什么是Kerberos協議 Kerberos是一種計算機網絡認證協議 ,其設計目標是通過密鑰系統為網絡中通信的客戶機(Client)/服務器(Server)應用程序提供嚴格的身份驗證服務,確保通信雙方身份的真…

Spring Boot 升級3.x 指南

Spring Boot 升級3.x 指南 1. 升級思路 先創建一個parent項目&#xff0c;打包類型為pom&#xff0c;繼承自spring boot的parent項目 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId&…

歷時三個月,我發布了一款外賣返錢小程序

近幾年&#xff0c;推廣外賣紅包爆火&#xff0c;各種推廣外賣紅包的公眾號層出不窮。于是&#xff0c;我就在想外賣紅包究竟是怎么一回事。就這樣&#xff0c;我帶著問題開始了關于外賣紅包的研究。 在研究的過程中&#xff0c;我開始了解商品聯盟、推廣分成、cps等一系列相關…

網絡攻擊當搭配什么產品比較好

網絡攻擊無處不在&#xff0c;當要時刻謹記 2014年&#xff0c;索尼影業受到黑客攻擊&#xff0c;導致公司內部文件和電子郵件泄露。 2015年&#xff0c;美國聯邦政府的辦公人員信息遭到盜竊&#xff0c;影響了超過2100萬人的個人信息。 2016年&#xff0c;Yahoo的3億用戶賬…

java 中集合之一【map】,map循環

在Java中&#xff0c;常用的集合框架有以下幾個&#xff1a; 1、List&#xff08;列表&#xff09;&#xff1a;List是有序的集合&#xff0c;允許包含重復元素。常用的實現類有ArrayList和LinkedList。ArrayList是基于動態數組實現的&#xff0c;支持快速隨機訪問&#xff1b;…

android之圖片選擇器--pictureselector

推薦一個安卓圖片/視頻/文件選擇器。簡單好用。 不多廢話。直接上代碼&#xff1a; 首先&#xff0c;添加依賴&#xff1a; //圖片選擇器api io.github.lucksiege:pictureselector:v3.11.1//圖片壓縮api io.github.lucksiege:compress:v3.11.1//圖片裁剪api io.github.lucksie…

Springboot3+vue3從0到1開發實戰項目(一)

一. 可以在本項目里面自由發揮拓展 二. 知識整合項目使用到的技術 后端開發 &#xff1a; Validation, Mybatis,Redis, Junit,SpringBoot3 &#xff0c;mysql&#xff0c;Swagger, JDK17 &#xff0c;項目部署 前端開發&#xff1a; Vue3&#xff0c;Vite&#xff0c;Router…

Java數組和集合

在Java中&#xff0c;數組和集合是兩個重要的概念&#xff0c;它們用于存儲和操作數據。本文將詳細介紹Java中的數組和集合&#xff0c;包括它們的定義、初始化、訪問和常見操作 一、數組&#xff08;Array&#xff09; 數組是一種用于存儲相同類型數據的容器&#xff0c;它可…

DNS的各種進階新玩法

你們好&#xff0c;我的網工朋友&#xff0c;今天和你聊聊DNS。 01 什么是DNS&#xff1f; mac地址誕生&#xff0c;可是太不容易記憶了&#xff0c;出現了簡化了IP形式&#xff0c;它被直接暴露給外網不說&#xff0c;還讓人類還是覺得比較麻煩&#xff0c;干脆用幾個字母算了…

【Git】一文教你學會 submodule 的增、刪、改、查

添加子模塊 $ git submodule add <url> <path>url 為想要添加的子模塊路徑path 為子模塊存放的本地路徑 示例&#xff0c;添加 r-tinymaix 為子模塊到主倉庫 ./sdk/packages/online-packages/r-tinymaix 路徑下&#xff0c;命令如下所示&#xff1a; $ git subm…