免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

醫(yī)藥信息管理系統(tǒng)數據庫設計:從E-R圖到事務扣庫存的完整實戰(zhàn)

醫(yī)藥信息管理系統(tǒng)數據庫設計:從E-R圖到事務扣庫存的完整實戰(zhàn) 簡介面向數據庫課程設計或醫(yī)藥行業(yè)信息化入門學習者的完整項目資料包主題為醫(yī)藥信息管理系統(tǒng)。系統(tǒng)圍繞基本信息、進貨、庫房、銷售與財務統(tǒng)計五大模塊展開覆蓋藥品/員工/客戶/供應商維護、入庫盤點、銷售退貨和日/月報表等典型業(yè)務適合用 MySQL 完成課程設計或理解 Java Web 項目結構。壓縮包共 335 個文件、約 4.05MB以 54 個 Java 源碼文件、38 個 HTML 頁面、44 個 JS 腳本和 12 個 CSS 樣式為主并含 SQL 數據庫腳本、Maven 配置及說明文檔150 個 GIF 動圖可輔助查看界面效果與操作流程。已有 71 人學習。通過該項目可借鑒模塊劃分、數據庫表設計、前后端組織方式和 Maven 工程搭建思路進而快速改造為符合自身選題的課設作品。1. 數據庫課設醫(yī)藥信息管理系統(tǒng)先想清楚這三點再開寫已經把選題盯在醫(yī)藥信息管理系統(tǒng)上的人多半是因為它業(yè)務貼近生活有藥、有供應商、有入庫出庫、有銷售和處方字段多但是不抽象做出來能演示的頁面也多。但真的動手后你會發(fā)現90%的課設翻車案例不是不會寫增刪改查而是把表設計成了“藥品表一張、銷售表一張”的玩具結構答辯時老師問一句“一張?zhí)幏嚼锇鄠€藥品怎么查”就卡住。這個課設的核心考點從來不是界面上有多少個按鈕而是三件事進銷存的庫存怎么在不丟流水的前提下扣減、處方明細和主單怎么用外鍵關聯、以及多人同時開單時怎么保證庫存不為負。這篇筆記會按我踩過的坑來拆解整套方案適合正在做數據庫課設、以及準備把它當作品集項目去優(yōu)化的同學。先從業(yè)務模型說起因為表結構錯了后面所有代碼都是在給錯誤打補丁。2. 從業(yè)務到E-R圖把醫(yī)藥庫存、供應商和處方單拆成能交差的模型圖2.1 醫(yī)藥信息管理系統(tǒng)的核心業(yè)務閉環(huán)任何進銷存系統(tǒng)都繞不開“采購、入庫、建檔、在庫、出庫、銷售”這條線。醫(yī)藥信息管理系統(tǒng)比普通商品管理特殊在兩點藥品有“批準文號”和“有效期”出庫的時候必須先進先出不能把快過期的藥壓在庫底銷售環(huán)節(jié)涉及處方一張?zhí)幏娇梢蚤_多種藥品還要記錄醫(yī)生、藥房和數量。所以你在課設里至少要覆蓋下面這個閉環(huán)藥品錄入基礎檔案 → 供應商供貨生成入庫單 → 入庫單明細增加庫存 → 銷售/處方開單 → 扣減庫存 → 生成銷售流水。任何一個環(huán)節(jié)斷了比如入庫時只改了庫存表而沒寫入庫明細或者銷售時只寫了銷售單而沒扣庫存后面的統(tǒng)計就會對不上。建模的第一件事不是打開工具畫圖而是把業(yè)務規(guī)則列成清單。我習慣先寫出來“藥品必須屬于某個分類”“同一供應商可以供應多種藥品”“一張入庫單包含多條入庫明細每個明細對應一種藥品和一個庫存變動”“一張銷售單包含多條明細每條明細對應一種藥品和銷售數量”“不允許銷售庫存為0的藥品”。這些規(guī)則直接決定了實體和關系也決定了外鍵加在哪里。數據庫增刪改查只是最后一步業(yè)務邊界定了表結構就自然出來了。2.2 從業(yè)務規(guī)則反推實體與關系先定主鍵和外鍵按上述規(guī)則實體可以拆成藥品信息、藥品分類、供應商、入庫單、入庫單明細、銷售單處方、銷售單明細、用戶。其中“銷售單”在醫(yī)藥場景里通常就是“處方”可以復用一張表增加字段區(qū)分是柜臺銷售還是處方銷售。主鍵的選擇遵守一個原則能用業(yè)務編號就用業(yè)務編號但業(yè)務編號不穩(wěn)定時就用自增ID。比如藥品表的“藥品ID”可以用自增而“批準文號”雖然唯一但不同劑型可能同號不能當主鍵。入庫單、銷售單建議用單號字段作為邏輯主鍵同時再加一個自增內部ID原因后面在避坑章節(jié)細說。外鍵關系要畫成四條主線。一是“藥品分類”和“藥品”之間是一對多分類ID是藥品表的外鍵二是“供應商”和“入庫單”之間是一對多供應商ID是入庫單外鍵三是“入庫單”和“入庫單明細”是一對多入庫單ID是明細表外鍵四是“銷售單”和“銷售單明細”是一對多銷售單ID是明細表外鍵。藥品和供應商之間不直接給外鍵而是通過入庫單明細建立的“多對多”關聯。這樣設計的好處是你以后想查“哪個供應商是某種藥的主要來源”時只要對入庫明細做GROUP BY不需要用逗號拼接多值字段。2.3 從業(yè)務規(guī)則反推E-R圖的畫法要點E-R圖在課設報告里占比很高但很多人畫成了“一堆表連一堆表”這沒有把關系表達清楚。正確的做法是先畫最重要的關系在“銷售單明細”實體上畫兩個菱形一邊連“銷售單”一邊連“藥品”中間標注“包含N種”。在“入庫單明細”實體上同樣連“入庫單”和“藥品”。然后單獨抽出一張“用戶”實體與“銷售單”之間畫“審核/開單”的連線。最后才是“供應商”和“分類”這類附屬實體從外向里連接到對應的主實體。畫E-R圖的技巧是用“實體關系實體”的三元組去自檢從銷售單出發(fā)經過“包含關系”到銷售單明細再到藥品這叫“主表-明細-基礎檔案”是關系模式里最普遍也最容易考的一對多結構。老師很喜歡問“為什么不把明細直接塞進銷售單表”答案是因為一張?zhí)幏娇梢詫懚鄠€藥塞進去就要用重復字段或者逗號分隔既違反第一范式也查不了“某種藥賣了多少錢”這種聚合SQL。把這句話寫進課設報告分數基本穩(wěn)了。2.4 范式級別的取舍第三范式夠用反范式看場景教科書讓你規(guī)范到第三范式但實際設計里我會給自己留兩個后門。第一個是“庫存數量”字段。嚴格說庫存可以由“入庫明細合計 - 銷售明細合計”推導出來屬于冗余不滿足第二范式。但課設階段如果每查一次庫存都要匯總一次明細表數據量一大就慢所以我保留“藥品表.庫存數量”字段同時用事務保證每次入庫和銷售都同步更新它。這個冗余在答辯現場反而能展開講“用空間換查詢時間”屬于主動反范式。第二個后門是“藥品分類”在藥品表里存了個分類名稱的冗余字段。理論上應該只存分類ID通過JOIN去查名稱但為了方便頁面表格展示和減少JOIN次數我在藥品表里冗余了“分類名稱”。代價是分類改名時要做同步更新這在課設場景基本不發(fā)生。其余所有表嚴格按第三范式來沒有重復字段組所有包含非主屬性的字段都依賴主鍵而且依賴的是完整主鍵而不是部分依賴。中間張表“入庫單明細”用的聯合主鍵入庫單ID藥品ID注意明細里不能出現貨物的“倉庫位置”這種只依賴入庫單的字段否則就是部分依賴需要拆出去。3. 建庫建表與基礎數據一套可直接跑的MySQL腳本3.1 建庫與字符集選擇utf8mb4和InnoDB是默認答案寫腳本第一步是先定字符集和存儲引擎。字符集我固定用utf8mb4不要用utf8因為utf8在MySQL里最多存3字節(jié)遇到生僻藥品名或特殊符號會出現亂碼。排序規(guī)則用utf8mb4_unicode_ci它對中文搜索比較友好。存儲引擎選InnoDB這是為了保證事務、外鍵約束和行級鎖可用。MyISAM雖然查詢快一點但不支持事務和外鍵在這個項目里沒有任何優(yōu)勢。數據庫創(chuàng)建語句如下CREATE DATABASE IF NOT EXISTS pharma_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE pharma_db;這里有兩個容易被忽略的點。一是“IF NOT EXISTS”在課設里很實用重新跑腳本不會報錯二是COLLATE如果不下發(fā)后續(xù)建表時字段默認排序規(guī)則各不相同做WHERE查詢比較字符串時容易報“Illegal mix of collations”。建議把所有表、字段統(tǒng)一到同一個COLLATE這是血淚經驗。3.2 藥品表、供應商表、入庫表、銷售表的完整建表語句核心表一共五張再加上兩張輔助表。先建被依賴的基礎表再建主表最后建明細表避免外鍵引用錯誤。下面是藥品表、供應商表和用戶表的示例CREATE TABLE drug_category ( category_id INT AUTO_INCREMENT PRIMARY KEY, category_name VARCHAR(50) NOT NULL UNIQUE, remark VARCHAR(200) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci; CREATE TABLE drug ( drug_id INT AUTO_INCREMENT PRIMARY KEY, drug_code VARCHAR(30) NOT NULL UNIQUE COMMENT 藥品編碼, drug_name VARCHAR(100) NOT NULL, category_id INT NOT NULL, specification VARCHAR(50) COMMENT 規(guī)格, unit VARCHAR(20) DEFAULT 盒, purchase_price DECIMAL(10,2) NOT NULL, sale_price DECIMAL(10,2) NOT NULL, stock_quantity INT NOT NULL DEFAULT 0, expire_date DATE NOT NULL, supplier_id INT COMMENT 默認供應商, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_drug_category FOREIGN KEY (category_id) REFERENCES drug_category(category_id), CONSTRAINT fk_drug_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci; CREATE TABLE supplier ( supplier_id INT AUTO_INCREMENT PRIMARY KEY, supplier_code VARCHAR(20) NOT NULL UNIQUE, supplier_name VARCHAR(100) NOT NULL, contact_person VARCHAR(30), phone VARCHAR(20), address VARCHAR(200) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci; CREATE TABLE sys_user ( user_id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password_hash VARCHAR(64) NOT NULL, real_name VARCHAR(30), role VARCHAR(20) NOT NULL DEFAULT cashier COMMENT admin/manager/cashier ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;建表順序很重要先建drug_category再建supplier然后建drug否則drug表外鍵指向的表還不存在。注意drug表里的supplier_id設為“默認供應商”表示一種藥可以對應多個供應商時默認選擇其中一個真正的供應商和藥品的多對多關系要由入庫單明細來體現。price字段用DECIMAL而不是FLOAT后面避坑章節(jié)會專門解釋。接下來是入庫單和入庫明細。主表記錄這次進貨的整體信息明細表記錄每一種藥品進了多少、單價多少CREATE TABLE stock_in ( stock_in_id INT AUTO_INCREMENT PRIMARY KEY, stock_in_no VARCHAR(30) NOT NULL UNIQUE, supplier_id INT NOT NULL, operator_id INT NOT NULL, stock_in_date DATETIME NOT NULL, total_amount DECIMAL(12,2) NOT NULL, remark VARCHAR(200), CONSTRAINT fk_in_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id), CONSTRAINT fk_in_operator FOREIGN KEY (operator_id) REFERENCES sys_user(user_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci; CREATE TABLE stock_in_detail ( stock_in_id INT NOT NULL, drug_id INT NOT NULL, quantity INT NOT NULL, cost_price DECIMAL(10,2) NOT NULL, production_date DATE, expire_date DATE, PRIMARY KEY (stock_in_id, drug_id), CONSTRAINT fk_detail_in FOREIGN KEY (stock_in_id) REFERENCES stock_in(stock_in_id), CONSTRAINT fk_detail_drug FOREIGN KEY (drug_id) REFERENCES drug(drug_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;銷售單和銷售明細與入庫結構類似但多了一個“處方醫(yī)生”和“客戶姓名”的字段用來貼近醫(yī)藥管理場景CREATE TABLE sale_order ( sale_id INT AUTO_INCREMENT PRIMARY KEY, sale_no VARCHAR(30) NOT NULL UNIQUE, customer_name VARCHAR(50), doctor_name VARCHAR(30), cashier_id INT NOT NULL, sale_date DATETIME NOT NULL, total_amount DECIMAL(12,2) NOT NULL, status VARCHAR(20) DEFAULT completed, CONSTRAINT fk_sale_cashier FOREIGN KEY (cashier_id) REFERENCES sys_user(user_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci; CREATE TABLE sale_order_detail ( sale_id INT NOT NULL, drug_id INT NOT NULL, quantity INT NOT NULL, price DECIMAL(10,2) NOT NULL, amount DECIMAL(12,2) NOT NULL, PRIMARY KEY (sale_id, drug_id), CONSTRAINT fk_detail_sale FOREIGN KEY (sale_id) REFERENCES sale_order(sale_id), CONSTRAINT fk_detail_sale_drug FOREIGN KEY (drug_id) REFERENCES drug(drug_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;銷售明細表里的price字段保存的是“成交時賣的單價”不要直接去關聯藥品表的sale_price因為以后藥品調價了歷史銷售記錄還要保留當時的金額。這個字段叫“快照字段”在庫存類系統(tǒng)里非常常見。入庫明細里的cost_price同理也必須是入庫那一刻的實際成本價。3.3 約束設計主鍵、外鍵、CHECK與默認值怎么配合主鍵設計上所有自增主鍵都用INT如果覺得數據量會很大可以換成BIGINT但課設階段沒必要。唯一鍵用在業(yè)務單號上比如stock_in_no、sale_no用UNIQUE約束確保不會重復生成。外鍵約束必須有這是課設評分能直觀看到的數據庫知識點但不要在明細表上對明細記錄建“無用的級聯刪除”。正確的是主單刪除時明細應該同時刪除所以外鍵用ON DELETE CASCADE藥品和分類之間分類不能刪要限制所以用ON DELETE RESTRICT。CHECK約束很多同學會寫比如庫存不能為負、價格大于0但MySQL 8.0.16之前的版本不強制執(zhí)行CHECK只能在應用層校驗。我在建表腳本里仍然寫CHECK因為報告里可以寫“數據庫層面也有約束”同時應用層再攔一道。默認值盡量給全創(chuàng)建時間用DEFAULT CURRENT_TIMESTAMP銷售狀態(tài)用DEFAULT completed數量用DEFAULT 0。這樣INSERT語句可以少寫很多字段而且不會因為漏填導致空指針。3.4 初始化數據與視圖讓演示狀態(tài)更合理建完表還要造一批演示數據不能用網上的“學生表”隨便填。我一般造5個藥品分類、20個藥品、5個供應商、3個用戶再造3張入庫單和若干銷售單。一個重要技巧是讓部分藥品庫存低于“預警線”比如10盒部分藥品的過期時間在3個月內這樣后面的“有效期預警”和“庫存不足查詢”視圖就有數據可演示。INSERT語句我就不全貼了給個示例INSERT INTO drug_category (category_name) VALUES (心腦血管類), (消化系統(tǒng)類), (呼吸系統(tǒng)類); INSERT INTO supplier (supplier_code, supplier_name) VALUES (SP001, 華東醫(yī)藥), (SP002, 華北制藥); INSERT INTO sys_user (username, password_hash, real_name, role) VALUES (admin, hashed_value, 管理員, admin), (cashier01, hashed_value, 張收銀, cashier); INSERT INTO drug (drug_code, drug_name, category_id, unit, purchase_price, sale_price, stock_quantity, expire_date) VALUES (DRUG001, 阿司匹林腸溶片, 1, 盒, 8.50, 15.00, 100, 2026-05-30), (DRUG002, 奧美拉唑膠囊, 2, 盒, 12.00, 20.00, 8, 2026-01-15);這里故意把奧美拉唑的庫存設為8低于預警線演示時直接跑查詢就能出效果。視圖建議建兩個一個是“庫存預警_含分類名”一個是“銷售統(tǒng)計_按日按月”。視圖的好處是答辯時不用現場敲很長的SQL讓評委看視圖定義更直觀CREATE VIEW low_stock_view AS SELECT d.drug_id, d.drug_name, d.stock_quantity, d.expire_date FROM drug d WHERE d.stock_quantity 10 OR d.expire_date DATE_ADD(CURDATE(), INTERVAL 90 DAY);4. 核心業(yè)務SQL寫法增刪改查之外的加分項4.1 庫存扣減與流水記錄一個銷售事務怎么寫醫(yī)藥信息管理系統(tǒng)的核心不是“藥品增刪改查”而是“銷售完成后銷售單、明細、庫存、臺賬要同時更新”。建議把這個過程寫成一個存儲過程或者事務模板答辯時展示數據庫并發(fā)鎖和事務的一致性控制。下面是我常用的銷售開單事務寫法START TRANSACTION; -- 1. 插入銷售主單 INSERT INTO sale_order (sale_no, customer_name, doctor_name, cashier_id, sale_date, total_amount) VALUES (SO20250601001, 張三, 王醫(yī)生, 2, NOW(), 0); SET sale_id LAST_INSERT_ID(); -- 2. 插入銷售明細同時計算總金額 INSERT INTO sale_order_detail (sale_id, drug_id, quantity, price, amount) SELECT sale_id, d.drug_id, 2, d.sale_price, d.sale_price * 2 FROM drug d WHERE d.drug_code DRUG001; -- 3. 更新藥品庫存并且強制要求庫存不能為負 UPDATE drug SET stock_quantity stock_quantity - 2 WHERE drug_id 1 AND stock_quantity 2; -- 4. 檢查是否有行被更新如果沒有表示庫存不足 SELECT ROW_COUNT() AS affected_rows; -- 5. 如果affected_rows為0則回滾 -- 注意在存儲過程中可以用IF判斷這里僅演示SQL順序 COMMIT;這個事務的寫法和純增刪改查的區(qū)別在第三步UPDATE語句里帶了AND stock_quantity 2這在MySQL里是“條件更新”相當于數據庫層幫你做了一次庫存校驗。執(zhí)行UPDATE后如果影響行數為0說明庫存不夠就應該回滾。更規(guī)范的寫法是用SELECT ... FOR UPDATE給藥品行加鎖再判斷庫存量但因為課設單機環(huán)境下并發(fā)不高用條件更新已經足夠。這種寫法能避免“庫存被扣成負數”的經典錯誤。4.2 藥品有效期預警和庫存下限查詢用視圖與條件查詢實現預警功能很出效果而且只要一條SQL。除了前面建的低庫存視圖還需要按有效期排序的查詢。MySQL的DATEDIFF函數可以直接算出過期距離天數SELECT drug_name, expire_date, DATEDIFF(expire_date, CURDATE()) AS remain_days FROM drug WHERE DATEDIFF(expire_date, CURDATE()) 90 ORDER BY remain_days ASC;這條查詢放在“庫存管理”頁面按照剩余天數從少到多排序就是很直觀的效期提醒。如果你想升級成“每批藥品獨立效期管理”就要在入庫明細里增加生產日期和效期字段出庫時按照“先入先出”的原則選擇最早批次的庫存。課設里掛在藥品表上的expire_date一個字段就夠演示但你在報告里如果能寫清楚“藥品表上的效期是最新批次的效期更嚴格的做法是把效期放明細”老師會覺得你想過這個問題。4.3 存儲過程與觸發(fā)器課程設計的加分項很多學校的數據庫課設評分點里有“存儲過程”和“觸發(fā)器”這兩個數據庫對象。存儲過程建議封裝兩個一個是“藥品采購入庫”在insert入庫單和明細后循環(huán)更新藥品的庫存和最近入庫價另一個是“按時間范圍統(tǒng)計銷售排名”用GROUP BY生成報表。下面是一個簡單入庫存儲過程的模板DELIMITER $$ CREATE PROCEDURE sp_stock_in( IN p_supplier_id INT, IN p_operator_id INT, IN p_drug_code VARCHAR(30), IN p_quantity INT, IN p_cost_price DECIMAL(10,2) ) BEGIN DECLARE v_drug_id INT; DECLARE v_stock_in_id INT; SELECT drug_id INTO v_drug_id FROM drug WHERE drug_code p_drug_code; INSERT INTO stock_in (stock_in_no, supplier_id, operator_id, stock_in_date, total_amount) VALUES (CONCAT(SI, DATE_FORMAT(NOW(), %Y%m%d%H%i%s)), p_supplier_id, p_operator_id, NOW(), p_quantity * p_cost_price); SET v_stock_in_id LAST_INSERT_ID(); INSERT INTO stock_in_detail (stock_in_id, drug_id, quantity, cost_price, expire_date) VALUES (v_stock_in_id, v_drug_id, p_quantity, p_cost_price, DATE_ADD(NOW(), INTERVAL 2 YEAR)); UPDATE drug SET stock_quantity stock_quantity p_quantity, purchase_price p_cost_price WHERE drug_id v_drug_id; END$$ DELIMITER ;注意DELIMITER的使用在命令行和Navicat里存儲過程體中多個分號會被MySQL當成語句結束DELIMITER $$就是為了臨時把終止符改成$$避免過程體內插值報錯。參數名前面的p_后綴是為了避免和列名沖突這算是個小習慣。觸發(fā)器可以作為“庫存不足自動提醒”的補充。比如在銷售明細表上做一個AFTER INSERT觸發(fā)器自動更新藥品表的庫存觸發(fā)器代碼不長但它會隱藏業(yè)務邏輯讓日后排錯變難。我的建議是課設里寫一個觸發(fā)器證明你會用就行核心業(yè)務邏輯放存儲過程或應用層不要把大量規(guī)則都壓進觸發(fā)器。觸發(fā)器一旦出錯SQL很難調試而且觸發(fā)器里的SELECT不能往臨時表以外的地方返回結果容易被繞暈。4.4 權限控制不同角色看到不同的菜單和記錄數據庫層的權限控制要做到基于角色的訪問控制。我的做法是在sys_user表里加role字段應用層根據角色選擇查詢語句。比如管理員可以看到所有用戶的銷售記錄收銀員只能看到自己的。SQL層面可以用WHERE條件拼角色入參-- 應用層傳遞當前用戶的 role 和 user_id SELECT so.sale_no, so.sale_date, so.total_amount, u.real_name AS cashier FROM sale_order so JOIN sys_user u ON so.cashier_id u.user_id WHERE ( role admin OR so.cashier_id user_id ) ORDER BY so.sale_date DESC;這個SP里用變量role和user_id表示從應用層傳入的會話變量。數據庫課上講視圖時也可以給一個“我的銷售記錄”視圖視圖定義里帶上DATABASE用戶函數但MySQL里做行級安全不太方便所以我在視圖和存儲過程之間選擇了存儲過程作為主力。數據庫連接池場景下每個請求建立連接后要執(zhí)行SET role ?才能保證不同人的數據隔離。5. 課設避坑數據庫設計階段的五個高頻問題5.1 藥品和供應商關系做成單表導致供應商覆蓋現象藥品表里有一個supplier_name字段一次給同一個藥品維護了兩個供應商后來發(fā)現只能存一個另一個被覆蓋了。原因把多對多關系硬塞進基礎檔案表藥品表根本沒法表達“同一藥品由多個供應商供貨”。解決拆中間表或依賴入庫明細表讓每次進貨同時記錄“供應商藥品批次”這樣既能查某個藥品的歷史供應商又能在報表里按供應商聚合采購金額。課設報告里明確寫出“供應商和藥品是多對多關系通過入庫單明細表實現”這一句話就能證明你懂數據庫關系。5.2 金額用FLOAT存儲對賬差了幾分錢現象錄入采購金額后列表頁顯示108.60導出的報表卻是108.599999。原因FLOAT和DOUBLE是浮點數二進制不能精確表示十進制小數拿來做金額會產生舍入誤差。解決所有金額字段一律改成DECIMAL(10,2)或DECIMAL(12,2)。DECIMAL是按數字存儲的加減乘除都精確。這個坑在醫(yī)藥系統(tǒng)里很致命因為進銷存對賬差一分都會引起麻煩。如果已經建錯了表可以用ALTER TABLE來改字段類型但要暴露給所有相關表和存儲過程。5.3 銷售后沒有流水記錄庫存和報表對不上現象演示時先做一筆銷售然后打開庫存查詢發(fā)現庫存沒變。原因只往sale_order表插了一條記錄沒有同步更新drug表的stock_quantity也沒有在sale_order_detail里記錄明細。解決把銷售流程收斂到同一個事務里或者在應用層用一個Service方法把“插入主表”“插入明細”“更新庫存”三步包在Transactional里。數據庫課設推薦用存儲過程因為課堂環(huán)境里前端語言可能沒法演示事務存儲過程能直接把事務行為展示在數據庫客戶端。別忘了最后再查一次庫存把扣減后的值顯示在界面上。5.4 外鍵濫用導致插入失敗考場手忙腳亂現象在明細表里插入數據時報“Cannot add or update a child row”然后整個銷售流程中斷。原因外鍵約束要求外鍵值必須在主表中存在。常見情況是先在明細分錄里引用了sale_id但sale_order還沒來得及提交自動生成的ID。解決先INSERT主表用LAST_INSERT_ID()拿到新ID再插入明細表。另一個典型錯誤是給“藥品分類”表外鍵加了ON DELETE CASCADE導致刪除一個分類時把所有藥品全刪了。分類屬于“被引用數據”應該用RESTRICT禁止級聯刪除只有明細表才算“依賴數據”才適合用CASCADE。5.5 并發(fā)銷售時庫存變成負數現象兩個窗口同時賣最后一件藥兩個窗口都顯示庫存為1也都扣減成功最后庫存變成-1。原因先查庫存再更新庫存是“非原子操作”兩個會話在“查詢”階段讀到相同值后面各自做了減一導致數據庫并發(fā)鎖沒有真正保住庫存。解決把“判斷庫存大于0”和“扣減庫存”合并到一條UPDATE語句里也就是前面寫的UPDATE ... WHERE stock_quantity n。InnoDB默認行級鎖這條UPDATE會鎖住該藥品行第二個會話必須等第一個提交或回滾才能繼續(xù)這樣就避免了負庫存。如果有意演示悲觀鎖可以用SELECT stock_quantity FROM drug WHERE drug_id ? FOR UPDATE但注意事務結束后要立即提交否則鎖會一直占著這就是數據庫死鎖的高發(fā)場景。6. 把數據量做大用索引和執(zhí)行計劃給系統(tǒng)加分課設答辯到后期老師通常會問“如果這張表有幾十萬條記錄你的查詢還會快嗎”。這個問題別空談索引直接在MySQL里做一做往sale_order_detail表里用存儲過程灌入10萬條模擬數據再跑兩條等價的統(tǒng)計SQL對比執(zhí)行計劃里的掃描行數。我給一個可跑的模擬數據生成腳本DROP PROCEDURE IF EXISTS sp_generate_sale_data; DELIMITER $$ CREATE PROCEDURE sp_generate_sale_data(IN p_loop_count INT) BEGIN DECLARE i INT DEFAULT 0; DECLARE v_sale_id INT; SET AUTOCOMMIT0; WHILE i p_loop_count DO INSERT INTO sale_order (sale_no, customer_name, cashier_id, sale_date, total_amount) VALUES (CONCAT(BIG, DATE_FORMAT(NOW(), %Y%m%d%H%i%s), LPAD(i, 6, 0)), 批量客戶, 1, NOW(), 0); SET v_sale_id LAST_INSERT_ID(); INSERT INTO sale_order_detail (sale_id, drug_id, quantity, price, amount) VALUES (v_sale_id, FLOOR(1 RAND() * 20), FLOOR(1 RAND() * 5), 10.00, 0); SET i i 1; END WHILE; COMMIT; END$$ DELIMITER ; CALL sp_generate_sale_data(100000);跑完后再執(zhí)行EXPLAINEXPLAIN SELECT so.sale_date, so.total_amount FROM sale_order so WHERE so.sale_date BETWEEN 2025-01-01 AND 2025-12-31;在沒有索引時type列通常是ALL行數是全表統(tǒng)計隨后你在sale_date上建立索引再跑一遍EXPLAINtype會變成range。這就是一個很有說服力的現場調優(yōu)演示。接著做一個更貼近業(yè)務的口徑統(tǒng)計每一種藥賣了多少錢。SELECT d.drug_name, SUM(sod.amount) AS total_sale_amount FROM sale_order_detail sod JOIN drug d ON sod.drug_id d.drug_id GROUP BY d.drug_id, d.drug_name ORDER BY total_sale_amount DESC LIMIT 10;這條SQL在數據量上去以后要保證drug_id是主鍵、sale_order_detail的drug_id上有索引不然JOIN慢。這也是“數據庫同步工具”概念里經常提到的索引問題如果兩張表關聯字段忘了建索引數據同步和實時查詢都會卡住。我的個人習慣是給每條核心查詢寫“優(yōu)化前”和“優(yōu)化后”兩版并把EXPLAIN結果截圖貼進課設報告。老師其實很清楚學生做的數據量不大他更在意你有沒有驗證的意識和排查手段。你只要做一次并不復雜的索引對比就能和其他交了個增刪改查的課設拉開差距。最后再說一句實在話數據庫課設的分數不是靠堆功能堆出來的而是靠表結構合理、事務不丟數據、查詢有據可查這三個維度撐起來的。醫(yī)藥信息管理系統(tǒng)是個很好的載體把進銷存和中小型業(yè)務數據庫的常見問題都覆蓋了值得你多花兩個晚上把細節(jié)打磨好。希望這篇筆記能幫你在做課設和答辯的路上少踩幾個坑。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚州色婷婷| 色蜜婷婷| 五月网在线| 99在线精品免费视频| 天天噜天天插| 91精品久| 97人人超| 久久丁香综合| 久久成人性爱| 亚洲激情五月| 国产XXXX搡XXXXX搡麻豆| 色综合性视频| 亚洲AV网站| 天天插综合网| 天天综合网在线| 亚洲欧洲国产精品| 欧在线一区| 色99在线视频| 九九热视频精品| www.91久久| 狠狠狠狠狠狠| 玖玖无码中文| 99热.com| 五月婷婷狠狠干| 91婷婷丁香五月| 99精品成人无码A片观看金桔| 五月天色婷婷伊人网| 成人 视频免费观看网站| 天堂无码人妻精品AV一区| 激情五月小说婷婷| 婷婷激情五月天小说校园| 日本一级特黄大片AAAAA级| 欧美成人精品三区综合A片| 嫩草AV久久伊人妇女超级A| 97色伦另类图片小说视频 | 天堂婷婷五月在线| 在线观看亚洲视频影院| 婷婷五月欧美AA片免费| 五月激香蕉网| 极品人妻VIDEOSSS人妻| 久久五月婷| 婷婷五月天亚洲图片| 久久9久久| 91蝌蚪窝视频在线| 色婷婷在线视频| 五月丁香六月激情在线| 日韩在线婷婷五月天综合| 综合激情婷婷| 婷婷久久五月天丁香| 欧美槡BBBB槡BBB少妇| 伊人日日干| 日韩综合天堂| 伊人激情影院| 99无码超碰| 五月开行婷婷色五月| 天天舔天天插天天爱| 99热这里全是精品| 亚洲精品欧洲精品| 综合网色| 六月丁香网| 亚艹艹| 无码色色色色色| 久久婷婷五月综合色欧美| 玖玖午夜视频| 色婷网| 色婷婷综合影院| 九九精品在线网| av在线超清中文| 五月丁香成人| 精品久热| 五月婷婷播| 1024手机在线观看看片_日韩精品| 亚洲AV成人一区二区在线观看| 激情六月婷婷| 国产亚洲精品久久久久久郑州| 婷婷在线视频| 无码激情AAAAA片-区区 | 99热久| 5月丁香六月婷婷| 99在线免费视| 天天爽免费视频| 999影院成人在线影院| 丁香激激情网| 综合99综合久久久久久久| 五月婷婷啪啪啪| 激情五月天啪啪| 五月丁香六月色| 99热这里只是精品| 久久久99免费视频| 99精品在线观看视频| 婷婷丁香久久| 久草丁香婷婷1024| 91久久久久久久91| 亚洲综合激| 婷婷五月成人有| 九九这里有精品视频| 狠狠色五月激情| 99热日韩这里只有精品| 日本熟女二区| 五月丁香综合啪啪| 色五月婷婷91在线| 丁香五月婷婷五月天在线| 六月丁婷婷| 色 五月俺去也| 99热这里只有精品18| 夜夜谢天天干| 欧美顶级少妇做爰HD| 婷婷在线中文字幕| 五月丁香久久| 亚洲丁香五月在线观看| 色五月91| 97超碰色| 99热无码精品| 五月婷婷六月情| 97干97色| 操逼综合激情网| 热99一二三| 性视频久久| 欧美日韩大黄| 色婷婷五月天成人网| 免费黄色片子| 国产免费av在线| 6月丁香婷婷| 久热最新视频| 丁香五月播播| 99九九中文字幕视频| 久久只有精| 五月丁香久久激情网| 亚洲色婷婷五月天| 色婷青青| 色婷婷激情小说网| 97在线精品| 亚洲视频另类| 久久这里都是精品视频| 丁香六月激情| 国产超碰在线| 久久久27操| 色婷婷成人做爰A片免费看网站 | 九月色婷婷婷| 99热综合在线观看| 国内外色色色色色成人视频| 99色中文| 五月丁香六月婷婷激情网| 国产亚洲精品AAAAAAA片| 71在线精品视频一区| 激情五月深爱五月| 五月婷丁香| 综合色婷婷| 色欲香综合网| 疯狂做受XXXX高潮A片动画| 色色五月天婷婷丁香| 性爱在线播放av| 激情久久丁香| 操逼巨乳91| www.五月婷婷久久.com| 亚洲无AV在线中文字幕| 五月丁香好婷婷A片网| www.久久久.com| 婷婷热色| 激情五月婷婷六月丁香| 五月色婷丁香| 五月婷婷六月丁香激情| 热久久这里只有三级视频| 99re这里只有精品免费| 日产精品一线二线三线芒果| 开心 五月 综合| 九九精品自拍| 五月婷啪| 激情五月天婷婷| 色婷婷免费观看| 99久热| 丁香社92视频| 五月丁香婷婷欧美| xxxx久| 丁香五月成人婷婷| 成人av在线网站| 伊人www22综合色| 亚洲视频码| 亚洲激情色色| 久久天堂婷婷五月| 婷婷五月天AV| www,欧美干干干干干干| 丁香五月激情五月色综合| 五月激情婷婷播播网| 夜精品无码A片一区二区蜜桃| 激情五月天啪啪视频| 超碰国产在线| 婷婷伊人激情婷婷| 97成人视频| 丁香 婷婷 亚洲 熟女| 丁香五月激情综合久久| 夜夜久久综合网| 99热性色| 99久久99久久综合| 五月久久丁香| 久久精品五月天| 五月婷婷综合激情网| 五月丁香婷草| 国产乱妇无乱码大黄AA片| 色9色| 九九综合影音先锋| 日韩在线观看亚洲| 婷婷黄色五月天在线视频| 国产精品色| 99精品在线下载| 五月色婷丁香| 五月天激情小说| www.五月激情红色| 综合网啪啪| 婷婷亚洲天堂| 婷婷五月六月丁香综合| 香蕉综合在线| www。五月,com| www.99热| 99精品网站| 97干在线免费| 天天射影院| 久久婷婷五月草视频| 亚洲色五月婷婷| 99啪啪网| 99热99这里免费的精品| 婷婷五月四狠狠| av网站免费在线| 涩综合网| 99九九精品| 91久久精品无码一区二区三区| 少妇性按摩无码中文A片| 色五月成人网| 青草性爱视频| 色狠狠999综合| 成人做爰高潮A片免费视频 | 亚洲av电影在线| 99久久五月婷婷| 97狠狠色| 97热九九| 色综合网页| 五月天社区| 久久性爱视频久久性爱视频| jiujiu无码五区| 超碰丁香五月| 色五月天 丁香| 色婷婷视频在线| 九九九九这里只有精品| 亚洲九九九九| 99九九在线观看免费| 中字幕视频在线永久在线观看免费 | 久久五月丁香| 色五月婷激情| 天天色天天爱天天舔| 怡春院久操| 激情五月丁香五月综合| 国产午夜成人AV在线播放| 人妻久久婷婷| 久久婷婷丁香视频网| 亚洲欧洲中文日韩久久AV乱码| 婷婷五月六月丁香| 色婷婷六月精品| 五月色婷婷亚洲 | 婷婷午夜精品久久久| 99综合97| 婷婷五月天亚洲综合网| 亚洲超碰中文字幕| 操碰99在线视频观看| 白人荫道BBWBBB大荫道| 另类少妇人与禽zOZZ0性伦| 欧美日比视频| 欧美久久网| 五月婷婷丁香综合| 婷婷色爱| 在线1青婷| 亚洲丁香网| 国产激情综合五月| 丁香六月av| 亚洲综合视频天天精品| 樱花99视频| 久99久在线| 色婷婷88| 丁香五月在线人妻| 人妻操逼| 日日做夜夜爱| 色五月婷婷五月| 久久99热这里只有精品| 久久久久久久人妻| 色五月琪琪| 91成人视频| 亚洲婷婷丁香| 五月婷婷五月天| 在线播放中文字幕| 性色做爰片在线观看WW| 激情五月黄色| 五月丁香六月婷婷综合| 伊人色综合影院视频| 婷婷色中文| 国产av影片| 婷婷欧美综合| 亚洲中文无码成人| 99热这里只有精品最新| 六月婷婷啪啪| 久久五月视频| 丁香六月婷婷激情| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 青草五月天| 色色色999| 天天色综网| 成人精品在线| 九九九九无码| 久思思热视频在线观看| 五月天基地| 五月花在线观看视频| 在线观看欧美| 九九99九九精品免费| avh片在线观看| 色色五月丁香婷婷综合| 色噜噜狠狠色综合无码久久欧美| 天天天天天天天操| 激情久久久久久| 狠狠操狠狠操| 激情五月婷黄版| 色碰碰视频| 色色网五月激情| 噜噜狠狠色综无码久久合欧美| 五月天婷婷乱论小说| 婷婷色五月婷| 成人无码髙潮喷水A片| 五月婷婷在线免费观看| 9久热在线精品| 91vip在线观看| 多精窝99在线视频| 日本色五月婷婷| 激情五月天网站| 玖玖99婷婷| 偷偷操99| 淫水导航| 天天插天天插| www.五月婷婷久久.com| 性生活久久人妻| 久9热在线视频| 日本一级一级一级一级| 91色噜噜狠狠狠狠色综合| 丁香五月天精品| 天天操夜夜操| 婷婷天堂伊人| 色插综合网| 天天综合精品| 婷婷五月天性色| 国产97色在线 | 日韩| 五月婷婷狠天天色综合| 婷婷丁香色五月| 九97免费视频| 婷婷六月伊人| 亚洲AV在线免费看| 69堂午夜视频最新地址| 99热超碰| www.色五月| 国产美女无遮挡裸体毛片A片 | 五月天婷婷激情小说| 尔尔AV一区| 色婷婷小说| 九九亚洲综合| 日韩精品一品二区三区的使用体验| 99精品偷自拍| 思思99热在线| 久久九九国产精品怡红院| 另类在线观看视频| 婷婷亚洲综合| 久草五月婷| 99热99这里有免费的精品| 婷婷社区五月天| 97人人爱人人操| 99性爱精品| 日日夜夜狠狠| 夜夜骑操AV| 五月丁香激情综合网| 国产亚洲网站在线| 狠狠爱五月婷婷| 97超碰9久热婷婷热| 99爱最新免费视频在线观看| 午夜不卡久久精品无码免费| 一根材五月婷成人| 日本人妻伦在线中文字幕| 狠狠色狠狠操| 99热婷婷| www.狠狠操| 开心婷婷五月激情网小说| 91超碰在线观看| 碰人人操| 久操人妻| sS丁香五月婷婷| 天天日天天爽夜夜爽| 色婷婷丁香九月| 夜夜操夜夜操| 激情久久久久久久久久久| 夜夜爱网站| 色婷婷色和| 99视频只有这里精品| 人人色人人弄人人操| 婷婷六月天精品| 五月天色小说| 天天日天天摸| 色综合九九| 日本人人干| 久久婷婷亚洲| 日韩亚洲视频| 天天综合精品| 五月天婷婷婷| 欧美久久婷婷| 日韩超碰在线| 丁香五月97视频| 激情丁香五月| 久操热| 91美女被操| 操碰色一区就去操| 久久五月天黄色五月天色网址| 天天看A片| 狠狠狠狠青草| 国产免费AV在线| 人人97碰| 日日做A爰片久久毛片A片英语| 综合在线丁香五月| 久久香视频| 婷婷五月天电影网| 欧日美女Va| 日韩成人影片网站| 国产精品美女| 99高级会所久久| 婷婷色色综合| 99爽视频| 农村熟妇高潮精品A片| 亚洲 日韩色色| 综合色图婷婷| 色九九综合| 99热这是里只有精品| 国产午夜精品AV一区二区麻豆| 思思久热6| 亚洲成人av在线播放| 夜夜操天天干| 欧美爆乳一区二区三区| 丝袜大香蕉| 亚洲精品久久久久久久久久飞鱼 | 久久婷综合| 久久综合丁香五月| 一级韩国产精品毛| 99热这里是精品| 人人妻久久妻| 婷婷成人综合免费视频| 丁香五月先锋| 九月丁香久久网| 久久新地址| 丁香五月天av| 人人爽人人射-美女久久久久久久久久-成人AV| 狠狠爱婷婷五月天| 亚洲va综合va国产va中文| 开心色五月天久久久久久久| 爱爱色五月天| 婷婷九月| 丁香色综合| 色综啪啪| 亚洲国产精品成人午夜| 精品久热| 99精品久久| 五月婷婷丁香俺日污视频| 日韩抽插操逼| 性色欲情 网站| 青青日韩| 国产精品岛国片在线观看免费| 大地9中文在线观看免费高清| 五月开心网| 亚洲丁香网| 五月丁香色婷婷婷基地| 狠狠操狠狠爱| 99热日本| 激情小说五月天社区丁香| 久久 中文 日本| 超碰在线免费观看日韩| 欧美顶级少妇做爰HD| 五月激情视频| 色色色色色色色色综合网| 极品另类| 色婷另类| 色色五月天丁香| 五月婷婷激情综合av| 婷婷五月丁香久久| 色婷婷激情五月天在线观看| 激情综合色五月丁香六月亚洲| 五月婷婷开心深| 9久久精品| 国产免费AV在线| www.9797国产| 久久婷婷网| 婷婷五月精品中文字幕| 99碰网站| 淫视馆aV二区一区| 婷婷综合| 亚洲色域网| 插插干干干色| 天天日婷婷| 玖玖资源天天无码| 人人草人| 亚洲综合视频网| 婷婷欧美激情综合| 青青草五月天| 欧美肉大捧一进一出免费视频| 亚洲天堂久久| 欧美性爱丁香五月| 玖玖爱导航| 五月天伊人久久久久| 激情五月天的婷婷| 天天爽在线视频| 婷婷丁香久久五月综合| 看国产探花操逼三级片| 五月婷婷丁香五月| 天天弄天天操| 国内精品99| 9热在线| 91精品久| 日本久久视频| 涩涩五月天综合| 中文不卡一二三区| 99精在线| 五月丁香婷婷三级| 超碰99资源站| 色狠狠综合| 玖玖爱伊人网| 超碰大香蕉网| www.婷婷五月天啪啪| 另类小说五月天综合网| 天天做天天爱天天日| 97干在线观看视频| 国产婷婷综合| 噜噜噜久久| 99在线免费视频| 久久色大香蕉| 99re免费精品视频| 色五月亚洲开心网| 日韩婷婷| 亚洲成人日韩无码精品| 99re热精品在线视频| 深爱五月中文字幕| 激情伊人| 久久丁香婷婷色情综合| 五月天色色激情综合| 五月激情基地| 欧美成人精品A片免费一区99| 人妻激情久久| 色综合久久天天综合网| 婷婷五月天激情丁香| 九九综合精品| 黄页免费一级视频懂色| 九九热只有这里是精品| 丁香六月综合激情| 亚洲午夜在线视频| 久久er这里只有精品| 激情五月天色婷婷| 欧美黑人巨大性生话| 欧美色色色色色色| 亚洲性爱日韩无码| 色婷婷综合网站| 婷婷五月天你懂的| 永久地址 色| 亚洲va综合va国产va中文| www.久9| 五月的丁香六月的婷婷| 久久婷婷视频| 五月天天综合| 五月婷视屏在线观看| 超碰免费在线| 婷婷久久综合久| 婷婷五月天激情开心网| 九热视频在线伦| 五月综合婷婷开心网| 色哟哟精品| 婷婷六月久久| 五月天激情社区| 色色激情| WWW,色五月| 丁香六月婷婷色播| 色婷婷在线影院| 99成人免费视频| 夜夜穞天天穞狠狠穞AV美女按摩| 激情综合五| 五月丁香色六月激情干大屄| 久爱综合| 五月婷婷色吧!| 色偷偷五月天| 无码免费人妻A片AAA毛片西瓜| 天搞天天天天天| 91色五月| 色婷五月| 五月婷婷啪啪| 99这里只有精品国产| 色婷婷久久综合| 超级碰碰碰碰视频| 国产成人在线精品| 国产 亚洲 在线| 激情综合在线观看| 日韩无码专区| 强伦轩人妻一区二区电影| 大香蕉伊人99| 激情五月天电影| 色五月网址| 欧美25p| 999热这里只有精品| 婷婷日在线观看| 婷婷色网| 开心五月天激情网站| 色色草97| 丁香五月综合激情性爱| 成人在线精品| 五月综合视频| 婷婷五月天成人基地| 激情婷婷五月社区| 欧美超级视频97| AAA久久久| 综合网亚洲| 99r久久这里只有精品| 国产精品99久久久久久久女警| 日日干综合| 丁香五月婷婷国产av| 日日操天天爽| 色五婷婷| 五月婷婷综合网| 蜜乳A√| 九九精品re免费视频| 狠狠爱五月婷婷| 亚洲人妻AV| 精品一二三区久久AAA片| 丁香五月天BBw| 免费在线a| 亚洲精品视频在线播放| 亚洲激情高潮| 99在线一区| 999影院成人在线影院| 婷婷黄色五月| 婷婷情色五月天| 五月六月丁香激情视频| 五月停视频天堂| 国产激情在线| 欧美毛片www| 色五月大| 欧美成人AAA片一区国产精品| 色五XX| 激情五婷网| 国产精产国品一二三在观看| 99在线资源| 五月丁香六月婷婷综合网| 色综合久久无码| 人人摸人人搞| 六月婷婷五月天| 丁香五月婷婷五月天在线 | 性做爰1一7伦| 26uuu偷拍亚洲欧洲综合| 九九精品自拍| 婷婷五月丁香基地在线视频官网| 7777久久亚洲中文字幕| 五月色丁香| 99热精品无码| 天天操天天日天天爽| 五月天综合久久丁香91| 丁香色婷婷色手机免费在线| 99热国产| 丁香六月激情综合| 五月花亭亭| 欧美日韩91| 任你干嘛免费视频播放| 欧美婷婷色| 五月丁香婷婷色| 五月色影院| 天天拍夜夜爽| 激情综合五月激情XXXX| 狠狠五月激情丁香六月| 国产亚洲色婷婷久久99精品9j| 五月天综合| 亚洲五月天婷婷| 五月天综合婷婷| 26uuu国产精品| 婷婷五月中文在线| 九九青青草成人| 大香婷婷| Y11111111111少妇电影院| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | www.99视频| 伊人网大香| 天天爽天天爽视频| 夜夜爽天操| 热99只有精品| 成人小说 五月天 婷婷| 色婷婷电影网| 99热这里只有精品66| 97九色视频| 日本色五月婷婷| 思思re99视频在线观看| 久久精品亚洲热| 五月天堂婷婷| 婷婷色五月天第7色| 久久丁香社| 97色色视频| 99热大香蕉| 91婷婷搞| 99热婷婷| 激情综合婷婷| 另类少妇人与禽zOZZ0性伦| 五月天激情婷婷| 五月天另类激情在线| 五月丁香色综合| 26UUU欧美| 亚洲精品成人| 色五月人妻| 五月丁香网站| 嫩草极品| WWW.HENHENL.| 97日本在线| 91久久九久久九久久九久久九久久| 九九色院| 五月婷婷激情网| 久久久婷| 欧美婷婷色| 日韩AV免费电影在线播放| 婷婷色影音天| Caoub青青超碰| 色婷婷影| 日韩综合网络男女香蕉a片| 色热久| 亚州精品色情在线观看| 综合色色婷婷| 色婷婷19| 婷婷在线操| 色色五月婷婷丁香| 最新久久网址| 能看的AV| 日本99婷婷| 色玖玖爱| 天天色五月| 99爱视频在线播放| 丁香婷婷大香蕉| 天天综合精品| 久久色午夜在线导航| 九九热re99re6在线精品| 香蕉人妻AV久久久久天天| 婷婷综合性爱网| 六月丁香婷婷大香蕉| 亚洲成人高清在线| 婷婷丁香五月天欧美| 丁香五月婷婷骚视屏| 五月天综合区| 九九性爱网| 婷婷中文字幕| 激情婷婷综合网| 亚洲成人AV在线观看| www色婷婷久久综合久色 | 九九爱这里只有精品| 日韩乱玛久久| 国产亚洲在线观看| 97涩婷婷| 五月丁香久人妻中文| 五月激情网综合| 久久久中文| 丁香花综合永久入口| 欧美婷婷日本| 天天操狠狠操| 五月六月丁香婷婷在线观看| 久久人人妻| 国外亚洲成AV人片在线观看| 国产亚洲99久久| 亚洲XX日本| 久久作爱| 无码AV免费精品一区二区三区| 五月天婷婷丁香花| 丁香五月丁香伊人| 天天爽天天| 亚洲AV无码一区二| 欧美综合五月丁香五月天| 色五月人妻| 国产黄色一级片| 激情 婷婷 丁香五月天| 亚洲婷婷免费| 丁香婷婷色色| 婷婷激情小说| 激情五月成年| 少妇日麻屄| 午夜激情综合| 九热电影av| 天天操天天爱天天玩| 五月天久久久| 久久久久久久久久91| 激情五月婷婷丁香综合网| 色色色综合| 操操碰| 亚洲人妻Av| 久久蜜臀婷婷| 17.c黄色| 五月丁香六月片| 五月丁香婷婷久久| www.夜夜| WWW色综合| 丁香色婷婷| 色综合丁香| 99riAV国产精品视频| 欧美久人人| 97 A I色色| 久久九九99.www| 色综合日日| 色性日本| 免费观看欧美成人AA片爱我多深| 秋霞网在线免费基地五月婷婷丁香| 五月激情综合婷婷| 久久伦乱| 日韩av在线免费观看| 操逼123网| 国产成人精品一区二三区熟女在线| 五月激情啪啪啪| 激情综合九月| 亚洲AV成人精品日韩在线播放| 丁香五月欧美激情| 亚洲综合网 665566| 97在线精品视频| 色三级色三级| 五月婷婷六月丁香在线| 天天综合网、天天综合色| 天天爱天天操| 青青草深爱激情网| 琪琪色网址| 婷婷开心久久| 亚洲AV无码成人精品区电影网| 综合在线色婷婷| 伊人网啪啪| 免费亚洲婷婷中文字幕| 激情综合网丁香| 最近中文字幕在线中文视频| site:publishdd.com| 97操碰在线97| 色五月婷婷91| 丁香六月AV| 精品人妻一区二区三区在| 亚洲丁香网| 看全色黄大色大片| 久久九九热视频| 日日干综合| 九月婷婷综合在线| 激情综合网址| 婷婷丁香五月天综合网| 五月婷狠狠| 欧美性爱一区| 91精品电影18T| 蒲京久久无码视频| 人人干99| 四虎婷婷五月天| 97超碰在线观看免费| 九九亚洲综合| 月婷婷亚洲| 91jiuseshunv| 五月天.com| 操啊操av| 色五月综合网| 99re这里只有精品在线观看| 亚洲色色五月天| 99爱在线视频| 五月婷婷丁香网| AV在线免费播放| 久久性综合| 99久在线精品| 国产一二三四五六七八视频| www.91在线观看| 五月丁香婷婷成人网| 1995年关宝慧版蜘蛛女| 婷婷日本在线| 综合色色色| 成人网站免费sxj| 国产午夜精品一区二区| 五月婷婷综合网| 99热资源在线| 久久性爱网站| 久久精典| 9热在线视频| 久久思思热| 99热1| 久久A区B区| 狠狠色五月激情| 热99免费在线| 色婷婷小视频| 五月天激情婷婷| 婷婷丁香宗合888| 伊人久久丁香婷婷六月五月综合| 九九aV| 五月丁香六月婷婷综合| 强辱丰满人妻HD中文字幕| 亚洲成人网在线观看| 97婷婷五月| 久久小视频免费| 五月婷婷狠狠干| 人人摸人人干| 五月激情综合深爱| 激情婷婷五月天伊人在线观看| 婷久久| 久热久re| www.lchjjc.com| 色婷婷av在线观看| 另类天堂| 久热黄色| 久久精品夜色噜噜亚洲a∨| 337午夜福利| 色综合爱综合| 久久五月天精品视频| 久久婷婷啪啪视频| 综合激情专区| 97久操| 久久免费高| 专区无日本视频高清8| 五月丁香婷婷中文| site:publishdd.com| 亚洲精品成人| 91久久| 精品女人九九九| 成人一区在线观看| 99精品视频在线观看| 激情五月婷| 综合网啪| 在线观看免费狠狠色丁香香综合| 视频色色色色色色| anquye五月| 五月六月播婷婷| 啪啪丁香五月| 4399人妻无码久久久| 五月婷婷综合性爱噜噜| www.1024久久| 国产AV网页| 综合久久六月| 99九九中文字幕视频| 激情五月色综合网| 亚洲旡码| 91狠狠色| www.9797国产| 五月天福利影院导航| 91在线就要啪| 亚洲六月色| 影音先锋秋秋五月婷婷| 91人人爱| 五月婷婷啪啪啪啪| 亚洲乱码日产精品BD| 97碰碰视频在线观看免费| 九九精品热播| 97久久人人| 99这里只有精品|v| 少妇综合网| 成人免费120分钟啪啪| 天天插天天射天天干| 五月色综合| 深爱婷婷丁香五月激情| 99热精品在线播放| www.五月天婷婷| 另类 在线| 九九久久99| www.99色| 日韩AV在线影片| 9 1大香蕉| 99毛片| 婷婷五月天天天日日夜夜| 五月丁香AV、伊人业余、性色熟妇| 色综合久久88色综合中文字幕| se99视频| 91精品久久久久久| 国产成人精品一区二三区熟女在线| 亚洲无码影音| 激情久久久久久久久| 丁香九月综合| 影音先锋色婷婷| 久久性爱视频免费| 婷婷色丁香六月| 久久久性爱视频| 疯狂做受XXXX高潮A片| 99久热在线精品99re6热| 在线观看996精品| 亚洲精品乱码久久久久久综合| 日日操,夜夜撸| 天天日天天插| 五月丁香婷婷色| 日韩AV免费| 五月婷在线观看| 亚洲人妻av| 精品人妻久久久久久久| 五月天另类激情在线| 99热这里只有精品8| 99年操人人爽| 精品99在线看| 亚洲AV中文在线| 婷婷色系婷色| 九九热视频在线观看| 丁香成人五月天| 91干网站| 激情小说五月天社区丁香| 伊人五月天日日夜夜久久久天天| 精品怡红九九九| 九九在线精点品| 国产成人精品一区二三区熟女在线| 青青日韩| 婷婷夜夜夜夜| 激情综合网五月激情| 1024欧美看片| 丁香五月婷婷少妇| www.maotanji.com| 色欲AVV| 五月天天丁香婷婷在线中| www.色五月| 狠狠干.com| 国产色丁香| 婷婷色色丁香五月天| 97碰 在线视频观看| 99er免费在线观看| 91九色国产| 丁香久久九九99| 九九视频热| 综合久久婷婷| 97人人干人人操| 丁香五月婷婷视频| 中文字幕丰满乱孑伦无码专区 | av在线超清中文| 五月天久久网站| 久久久久视剧HD| 丁香婷婷伊人| 色色五月婷| 日本啪啪天堂| 色五月天中文字幕| 99色在线| 天天肏天天肏| 丁香5月婷婷| 国产精品18久久久| 五月婷婷五月天激情视频| www久| 99热最新精品| www.9797国产| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 91啪啪视频| 婷婷色在线视频| 久久99激情丁香婷婷小说网| 黄色网址五月婷婷| 久久这里99| 国产精品18久久久| 色欲日日躁| 中文字幕人妻熟女在线| 色色亚洲无码| 六月丁丁香| 丁香婷婷激情五月| 五月开心网| 激情婷婷综合| 99噜噜噜在线播放| 久久久久久久久久久久久久人妻视频 | 深情五月天| 国产97在线日韩亚洲女人被黑人巨大| 久久99久久99精品免视看婷婷| 99久久久久| 操久久网| 天天操人人干| 丁香五月婷婷婷婷欧美综合| 亚洲激情av| 色吧五月婷婷六月丁香| 成人无码髙潮喷水A片| 九九热视频网站| 精品成人无码A片观看香草视频| 精品婷婷五月天| 一本色道久久88加勒比| 开心色播色五月婷婷| 久久六月综合| 色婷婷最新域名| 婷婷狠狠97| 五月停亭六月,六月停亭的英语| av色色国产| 在线VA视频| 丁香五月婷婷天激情| 色激情五月| WWW免费视频碰碰碰碰| 亚洲AV成人精品日韩在线播放| 亚洲色碰| 91久热| 五月婷婷co.m| 狠狠色色| 五月婷婷网站| 久草五月天| 思思热视频在线| 天天干天天干天天干天天干天天| 色色色色色日韩午夜激情 | 五月综合六月婷婷| 九色PORNY在线精品酒店| 综合AV在线| 亚洲激情高潮| 超碰cap| 日日综合网| 丁香色五月 97干| 中国丰满熟女A片免费观| 五月天精品综合| 色哟哟www| 粉嫩AV久久一区二区三区| 亚洲欧美999| 六月丁香大香蕉| 无码免费人妻A片AAA毛片西瓜| 日日噜狠狠色| av操一操| 婷婷六月天| 另类小说激情五月天| 九月丁香| 久久久久九九九九视屏小说88| 中文字幕成人| 色综合色五月| 激情五月婷婷在线观看| 爱婷婷久久视频| 九九热只有精品6| 久久精品婷婷| www.99精品在线| 婷婷综合另类| 99色在线观看视频者| 99久久国产宗和精品1上映| 亚洲操人| 色欲天天综合| 午夜丁香综合婷婷| 丁香色啪综合| 91婷色| 久草 tingting| 91精品久久久久久综合五月天| 五月婷婷在线免费观看| 丁香五月日本| 日日噜噜夜夜狠狠久久丁香六月| 精品热九九| 天天操天天干天天日| 激情五月天 婷婷| 天天综合激情| 99在线观看精品| 中文字幕综合色| 开心五月激情网| 久9视频免费播放| 天天情色五月天| 66精品国产成人| 色情五月综合婷婷| 婷婷色av| 狠狠擼综合| 这里有精品99| 色综合天堂| 欧美色色日韩| 大香蕉AV电影在线| 无码99| 六月婷婷五月天| 婷婷五月激情的图片| 综合久久人妻| 五月天欧美激情| 98毛片| 久久久人妻人伦| 海外网站专业操老外| 三级av在线| 人人摸人人摸| 99re这里有精品手机在线| 久久精品63| 色99免费视频中文| 五月婷婷色色爱| 激情五月综合| 99热丁香| 成人免费高清在线播放| 在线只有精品| 色婷婷电影网| 天天色视频| 五月激情综合激情五月| 亚洲丁香五月天在线视频| 久久99热只有精品| 丁香五月影院| 182TV大香蕉| 丁香五月AV| 日韩99视频| 久久性刺激| 成人在线综合| 五月丁香久人妻中文| 综合激情肏逼网| 大香蕉七区| 亚洲成Av人片乱码色第1集| 999九九九久久久99HD| 亚洲成人AV一区在线观看| 婷婷婷久久| 丁香五月综合激情久久潮喷| 疯狂做受XXXX高潮A片动画| 丁香五月婷婷激情尤物| 人妻中文字幕精品| 第1影院之五月婷婷| 久久精品天| 婷婷的色色五月天| 91精品综合久久婷婷九色| 欧美日比视频| 91欧美日韩综合| 手机在线日韩视频中文字幕| 久久伊人婷婷| 六月丁香成人| 呦呦v线| 99热99干| 66成人网| 亚洲欧美综合7777色婷婷| 九九婷婷网五月天| 五月天激情网图片| 日韩成人不卡| 五月天色色色网| www.97干视频| 综合网色| 婷婷五月色影视先锋| 欧美成人精品一区二区 | 91丨九色丨大屁股| 天天操天天日天天爱| 亚洲色欲欧美一区二区三区| 淫荡综合网| 最新va在线播放| 天天爱天天做天天操| 午夜不卡久久精品无码免费| 婷婷五月激情综合网| 婷婷激情综合色五月久久图片| 日本精品99网站| 伊人婷婷激情| 五月天婷婷乱论小说| 五月天社区| 久久久国产精品黄毛片| 婷婷色情网| 久久五月六月| 五月丁香婷婷综合| 亚洲久久天堂| 丁香五月花婷婷开心| 色五月av| 1级欧美日韩| 丁香六月 婷婷六月| 综合网啪啪| 超爽内射| 色 五月婷婷基地| 九九热视频在线观看| 射区导航| 思思re99视频在线观看| 内射干少妇亚洲69XXX| 五月丁香啪啪啪| 婷婷五月天亚洲综合| 任我肏视频精品| 色情五月天首页| 免费亚洲婷婷| -91九色大屁股| 天天色天天操天天射| 日韩不卡123| 国产丁香五月天婷婷| 中文av网| www,久久久| 原琪琪色影院| 久xxxx| 九九热在线视频观看| 久热久69| 色五月视频无码播放| 天天爽天天| 天天综合激情| 六月婷婷综合| 色情综合网| 成人看片网站| 婷婷中文在线| 中文字幕在线免费观看视频| 久久久婷婷五月亚洲97号色| 日日噜噜夜夜狠狠久久丁香六月| 婷婷丁香精品视频在线观看| 亚洲婷婷乱乱丁香| 蜜桃婷婷丁香综合久久开心亚洲| 五月激情开心婷婷| 麻豆AV一区二区三区| 秋霞学生妹一二级| 色综合五月天| 色噜噜,噜噜色| 亚洲乱码日产精品BD| 五月婷婷这里都是精品| 99热国品| 丁香五月天啪啪激情综和网| 久久丁香网| 丁香六月婷| 色婷婷色情|