国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

醫(yī)藥信息管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì):從三范式建模到事務(wù)與索引優(yōu)化實(shí)踐

醫(yī)藥信息管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì):從三范式建模到事務(wù)與索引優(yōu)化實(shí)踐 簡介這是一份面向高校數(shù)據(jù)庫課程設(shè)計(jì)場景的醫(yī)藥信息管理系統(tǒng)完整項(xiàng)目包覆蓋藥品、員工、客戶、供應(yīng)商等基礎(chǔ)信息維護(hù)并實(shí)現(xiàn)進(jìn)貨、庫房、銷售、財(cái)務(wù)統(tǒng)計(jì)四大業(yè)務(wù)模塊適合正在做數(shù)據(jù)庫課設(shè)或畢設(shè)、需要可直接運(yùn)行參考系統(tǒng)的學(xué)生。資源為zip壓縮包共335個文件約4.05MB體積緊湊便于快速部署其中含150個gif演示截圖、54個java源碼文件以及html/js/css前端頁面、sql數(shù)據(jù)庫腳本、Maven配置和項(xiàng)目說明文件目錄結(jié)構(gòu)清晰便于導(dǎo)入IDE后整體跑通。目前已有71人學(xué)習(xí)下載。包內(nèi)完整代碼和界面素材可直接用于理解系統(tǒng)分層與數(shù)據(jù)庫表設(shè)計(jì)也可在此基礎(chǔ)上擴(kuò)展訂單、庫存預(yù)警等功能能有效節(jié)省前后端搭建時間是完成醫(yī)藥管理類課設(shè)的高價值參考資料。1. 數(shù)據(jù)庫課設(shè)醫(yī)藥信息管理系統(tǒng)一張?zhí)幏嚼镉卸嗌贁?shù)據(jù)要管數(shù)據(jù)庫課程設(shè)計(jì)只要題目一帶“醫(yī)藥信息管理系統(tǒng)”很多同學(xué)第一反應(yīng)就是“又是藥品增刪改查”。但真要在答辯時把一張?zhí)幏街v清楚背后其實(shí)是三庫分離的底子藥品基礎(chǔ)數(shù)據(jù)、供應(yīng)商與采購流水、客戶處方與銷售庫存。這個系統(tǒng)最自然的落點(diǎn)是用 MySQL 或 SQL Server 建出符合第三范式的十幾張表再用事務(wù)把“開處方→扣庫存→記流水”這一串動作包起來讓數(shù)據(jù)要么全部生效、要么全部回滾。適合誰做MySQL、SQL Server 這門課剛學(xué)完、想在課設(shè)里同時體現(xiàn)“設(shè)計(jì)能力 代碼落地”的同學(xué)也適合畢業(yè)設(shè)計(jì)想低成本先搭一個能演示的醫(yī)療業(yè)務(wù)底座。讀完這篇你能照著一套可復(fù)現(xiàn)的建表 SQL 和 JavaJDBC調(diào)用方式把數(shù)據(jù)庫課設(shè)從“畫 ER 圖”一路做到“能開機(jī)演示”。2. 先設(shè)計(jì)再建表ER 模型、范式與 8 張核心表課設(shè)答辯時最容易被追問的不是“你怎么寫代碼”而是“為什么這么建表”。所以建表之前必須先把業(yè)務(wù)實(shí)體抽出來再按范式和后續(xù)查詢習(xí)慣去拆表真正落地成 SQL。2.1 從業(yè)務(wù)流程抽實(shí)體藥品、供應(yīng)商、庫存和處方誰先誰后醫(yī)藥信息管理系統(tǒng)最常見的業(yè)務(wù)閉環(huán)是采購入庫 → 庫存管理 → 銷售出庫。圍繞這個閉環(huán)實(shí)體有七八個是正常的少了會被老師說“太簡陋”多了又容易掉進(jìn)過度設(shè)計(jì)。我一般按四條主線去抽藥品主線藥品信息、藥品分類、藥品規(guī)格。采購主線供應(yīng)商、采購訂單、采購明細(xì)、入庫記錄。銷售主線客戶或患者、處方/銷售單、銷售明細(xì)、退款記錄。庫存與財(cái)務(wù)主線庫存表、流水表、盤點(diǎn)記錄。這里最關(guān)鍵的設(shè)計(jì)決策是藥品信息表只放“通用屬性”把價格、批號、效期放到獨(dú)立的表里。很多課設(shè)把藥品表搞成一個大寬表加上drug_name、price、stock、expire_date一大堆——一修改就冗余。更穩(wěn)的做法是拆出drug_stock和drug_batch。批號獨(dú)立成表還有一個實(shí)際好處藥監(jiān)場景下同一藥品多個批號、不同進(jìn)價、不同效期按“一藥一批”做管理才說得通。ER 圖里把這兩個多值字段拆出去天然符合第二范式和第三范式。2.2 三段式建庫建庫、建表、插種子數(shù)據(jù)下面這組 SQL 以 MySQL 8.0 為準(zhǔn)SQL Server 2019 只要把AUTO_INCREMENT換成IDENTITY(1,1)、反引號去掉就能平移過去。先建庫再建核心表最后灌種子數(shù)據(jù)用于演示。-- 建庫字符集用 utf8mb4避免中文和生僻字亂碼 CREATE DATABASE IF NOT EXISTS pharma_sys DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE pharma_sys; -- 1. 藥品分類表樹形結(jié)構(gòu)parent_id 指向自身主鍵 CREATE TABLE drug_category ( id INT AUTO_INCREMENT PRIMARY KEY, parent_id INT DEFAULT 0 COMMENT 父分類 id0 表示頂級, category_name VARCHAR(50) NOT NULL, sort_order INT DEFAULT 0 ); -- 2. 藥品信息表只有“不變”的基礎(chǔ)屬性 CREATE TABLE drug_info ( id INT AUTO_INCREMENT PRIMARY KEY, category_id INT NOT NULL, drug_code VARCHAR(20) NOT NULL UNIQUE COMMENT 藥品編碼作為業(yè)務(wù)唯一鍵, drug_name VARCHAR(100) NOT NULL, spec VARCHAR(50) COMMENT 規(guī)格如 5mg*20片, unit VARCHAR(10) DEFAULT 盒, manufacturer VARCHAR(100), approval_no VARCHAR(30) COMMENT 批準(zhǔn)文號, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); -- 3. 供應(yīng)商表 CREATE TABLE supplier ( id INT AUTO_INCREMENT PRIMARY KEY, supplier_name VARCHAR(100) NOT NULL, contact_person VARCHAR(20), phone VARCHAR(20), address VARCHAR(200) ); -- 4. 藥品庫存表數(shù)量只在這里維護(hù) CREATE TABLE drug_stock ( drug_id INT PRIMARY KEY COMMENT 與 drug_info.id 一一對應(yīng), batch_no VARCHAR(30) COMMENT 批號, expire_date DATE COMMENT 效期, quantity DECIMAL(12,3) DEFAULT 0 COMMENT 庫存數(shù)量支持最小拆零單位, purchase_price DECIMAL(10,3), sale_price DECIMAL(10,2) );字段說明里要特別注意decimal而不是float金額和數(shù)量在課設(shè)里看起來都是小數(shù)但float是近似存儲1.4 變成 1.399999999 的新聞年年有。價格用DECIMAL(10,2)庫存用DECIMAL(12,3)是為了兼容“按克賣”的拆零藥品演示時也能講出理由。drug_code單獨(dú)加唯一索引避免業(yè)務(wù)里拿自增主鍵到處傳——這是給藥品、供應(yīng)商、處方三個模塊共用的“主鍵外露”教訓(xùn)。銷售側(cè)的兩張表單獨(dú)再建因?yàn)樗鼈兂袚?dān)“流水”職責(zé)不適合和基礎(chǔ)表混在一起-- 5. 銷售主表處方/銷售單頭 CREATE TABLE sales_order ( id INT AUTO_INCREMENT PRIMARY KEY, order_no VARCHAR(20) NOT NULL UNIQUE COMMENT 單號演示時用時間戳生成, customer_name VARCHAR(50), total_amount DECIMAL(10,2) DEFAULT 0, sale_status TINYINT DEFAULT 0 COMMENT 0 待付款 1 已付款 2 已退款, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); -- 6. 銷售明細(xì)表一個單頭對應(yīng)多行 CREATE TABLE sales_order_item ( id INT AUTO_INCREMENT PRIMARY KEY, order_id INT NOT NULL, drug_id INT NOT NULL, drug_name VARCHAR(100) COMMENT 冗余字段防止藥品改名后歷史單看不清, quantity DECIMAL(10,3) NOT NULL, price DECIMAL(10,2) NOT NULL, amount DECIMAL(10,2) NOT NULL COMMENT quantity * price ); -- 7. 入庫記錄表供應(yīng)商、采購、效期一起落這里 CREATE TABLE stock_in_record ( id INT AUTO_INCREMENT PRIMARY KEY, drug_id INT NOT NULL, supplier_id INT, batch_no VARCHAR(30), quantity DECIMAL(10,3) NOT NULL, purchase_price DECIMAL(10,3), operate_user VARCHAR(20), in_time DATETIME DEFAULT CURRENT_TIMESTAMP );sales_order_item里冗余drug_name看似違反范式實(shí)際上是有意為之歷史銷售單里的藥品名必須“定格”否則藥品改名之后報(bào)表上全是新名字說不清楚當(dāng)時賣的是什么。這個設(shè)計(jì)點(diǎn)答辯時主動講老師會認(rèn)為你理解“范式是為了查詢服務(wù)不是教條”。2.3 外鍵與索引什么時候該設(shè)什么時候不該設(shè)建表之后就是外鍵和索引的選擇題。外鍵在課設(shè)里建議設(shè)因?yàn)閟ales_order_item.order_id、drug_stock.drug_id這類關(guān)系是強(qiáng)約束寫不存在的藥品編碼直接報(bào)錯演示時也能體現(xiàn)“數(shù)據(jù)庫自身在兜底”。但要注意stock_in_record.supplier_id這類弱關(guān)聯(lián)我一般不加外鍵加一個普通索引就可以因?yàn)楣?yīng)商改不修改并不影響入庫流水加了外鍵反而會讓DELETE FROM supplier頻頻失敗。索引是數(shù)據(jù)庫優(yōu)化里最容易講出內(nèi)容的點(diǎn)。sales_order的order_no必須唯一索引sales_order_item的order_id加普通索引stock_in_record的drug_id batch_no加聯(lián)合索引。真正要克制的是不要在每列都加索引醫(yī)藥系統(tǒng)里頻繁查詢的是“按單號查明細(xì)”“按藥品查庫存”“按供應(yīng)商查流水”這三條覆蓋到了就夠用。3. 把增刪改查做“穩(wěn)”事務(wù)、存儲過程與連接池配置表建好只是地基。很多數(shù)據(jù)庫課設(shè)的死穴是業(yè)務(wù)代碼里先查庫存再改庫存結(jié)果兩個窗口同時下單庫存變成了負(fù)數(shù)。所以這一章要解決的核心問題是“并發(fā)和一致怎么在自己手里控制住”落到三個點(diǎn)上事務(wù)邊界、庫存扣減的原子更新、連接池參數(shù)。3.1 并發(fā)扣庫存為什么必須用行鎖而不是先查后改“先查數(shù)量是否夠 → 夠就 UPDATE”是新手最常見的寫法也是高并發(fā)翻車的源頭。兩個會話同時讀到庫存還剩 10各自都判斷“夠”各自減去 1庫存最終變成 9但實(shí)際賣了 2 件。數(shù)據(jù)庫里的行鎖解決的是“寫之間互斥”不是“讀與寫之間互斥”所以靠“先查后改”根本鎖不住。解法是把判斷和扣減合成一條 SQL利用行鎖的原子性-- 扣庫存一次 UPDATE 完成“查詢 校驗(yàn) 修改” UPDATE drug_stock SET quantity quantity - 1 WHERE drug_id 1 AND quantity 1; -- 影響行數(shù) 1扣減成功 -- 影響行數(shù) 0庫存不足回滾整個事務(wù)這條 SQL 在任何隔離級別下都不會超賣quantity 1條件讓多余的扣減直接匹配不到行而 UPDATE 本身會對命中的行加排他鎖。再配合下面的庫存流水表記錄就能做到“賬實(shí)相符”。-- 庫存流水每次增減都記一行作為審計(jì)依據(jù) CREATE TABLE stock_flow ( id INT AUTO_INCREMENT PRIMARY KEY, drug_id INT NOT NULL, change_type TINYINT COMMENT 1 入庫 2 銷售出庫 3 盤點(diǎn)調(diào)整, change_quantity DECIMAL(10,3), before_quantity DECIMAL(10,3), after_quantity DECIMAL(10,3), flow_time DATETIME DEFAULT CURRENT_TIMESTAMP );參數(shù)說明change_type用TINYINT加注釋存數(shù)字不存中文數(shù)據(jù)量上來之后查詢和統(tǒng)計(jì)都方便。before_quantity和after_quantity留雙份快照是為了報(bào)表里直接算出“變化前后”避免再去關(guān)聯(lián)庫存表。血淚經(jīng)驗(yàn)如果庫存流水只記變化量不記前后值年終盤點(diǎn)對賬時基本要重跑一遍全量數(shù)據(jù)才能定位差異。3.2 用存儲過程包住“銷售主表 明細(xì) 庫存”三件事多表寫入的正確姿勢是放在一個事務(wù)里。這里給一個 MySQL 存儲過程的寫法它把三步操作包成單次調(diào)用插入銷售主表、批量插入明細(xì)、逐條扣庫存。任何一步失敗全部回滾。DELIMITER $$ CREATE PROCEDURE sp_create_sales_order( IN p_order_no VARCHAR(20), IN p_customer_name VARCHAR(50), IN p_items JSON -- 明細(xì)以 JSON 數(shù)組傳入 ) BEGIN DECLARE v_order_id INT; DECLARE v_drug_id INT; DECLARE v_qty DECIMAL(10,3); DECLARE v_rows INT DEFAULT 0; DECLARE v_i INT DEFAULT 0; START TRANSACTION; -- 1. 寫銷售主表 INSERT INTO sales_order(order_no, customer_name, sale_status) VALUES(p_order_no, p_customer_name, 1); SET v_order_id LAST_INSERT_ID(); -- 2. 解析 JSON 數(shù)組逐條寫明細(xì)并扣庫存 SET v_rows JSON_LENGTH(p_items); WHILE v_i v_rows DO SET v_drug_id JSON_UNQUOTE(JSON_EXTRACT(p_items, CONCAT($[, v_i, ].drugId))); SET v_qty JSON_UNQUOTE(JSON_EXTRACT(p_items, CONCAT($[, v_i, ].quantity))); INSERT INTO sales_order_item(order_id, drug_id, drug_name, quantity, price, amount) SELECT v_order_id, id, drug_name, v_qty, sale_price, v_qty * sale_price FROM drug_info JOIN drug_stock ON drug_info.id drug_stock.drug_id WHERE drug_info.id v_drug_id; -- 上面 INSERT 影響行數(shù)為 0 說明藥品不存在直接回滾 IF ROW_COUNT() 0 THEN ROLLBACK; SIGNAL SQLSTATE 45000 SET MESSAGE_TEXT 藥品不存在或已停售; END IF; -- 原子扣庫存影響行數(shù)為 0 說明庫存不足 UPDATE drug_stock SET quantity quantity - v_qty WHERE drug_id v_drug_id AND quantity v_qty; IF ROW_COUNT() 0 THEN ROLLBACK; SIGNAL SQLSTATE 45000 SET MESSAGE_TEXT 庫存不足; END IF; SET v_i v_i 1; END WHILE; -- 3. 更新主表總金額 UPDATE sales_order SET total_amount (SELECT SUM(amount) FROM sales_order_item WHERE order_id v_order_id) WHERE id v_order_id; COMMIT; END$$ DELIMITER ;這段代碼的核心不是 JSON 解析而是事務(wù)邊界的切割。START TRANSACTION之后所有寫操作共享同一個事務(wù)中間任何ROLLBACK都會把已插入的明細(xì)撤干凈。參數(shù)里p_items用 JSON 僅僅是為了演示一個完整調(diào)用鏈如果你課設(shè)的數(shù)據(jù)庫是 SQL Server 2019可以把 JSON 換成臨時表或表值參數(shù)思路完全一致。調(diào)用方Java 的 JDBC只需要CallableStatement注冊這三個參數(shù)p_order_no、p_customer_name、p_items。注意 JSON 字符串里不能用單引號包鍵名MySQL 的 JSON 解析只認(rèn)雙引號這段在聯(lián)調(diào)時經(jīng)常被卡一下。3.3 連接池參數(shù)與 UTF-8Navicat 導(dǎo)出腳本常見的被埋參數(shù)課設(shè)里數(shù)據(jù)庫連接最常出問題的是兩處JDBC URL 忘了加characterEncoding以及連接池線程配得太小導(dǎo)致“假死”。下面是一份實(shí)際可用的druid.properties配置及注釋# Druid 連接池基礎(chǔ)參數(shù) driverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/pharma_sys?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/ShanghaiuseSSLfalse usernameroot password你的密碼 # 初始連接數(shù) / 最小空閑 / 最大活躍 initialSize5 minIdle5 maxActive20 # 獲取連接的超時時間單位毫秒 maxWait60000參數(shù)說明characterEncodingutf8mb4解決的是中文亂碼問題utf8mb4比utf8多覆蓋了 emoji 和特殊生僻字醫(yī)藥名里偶爾會出現(xiàn)這類字符。maxWait60000的意思是請求連接最多等 60 秒超過就拋異常而不是無限阻塞——演示現(xiàn)場最尷尬的畫面就是程序卡死在“獲取連接”這一步Java 線程池里一囤任務(wù)看起來像死機(jī)。maxActive20按課設(shè)體量綽綽有余別調(diào)成 100連接數(shù)過大反而拖垮 MySQL。有個常見的玄學(xué)現(xiàn)象本地用 Navicat 跑 SQL 正常Java 程序查詢中文全變問號。十有八九是 Navicat 導(dǎo)出腳本時的編碼和 JDBC URL 不一致導(dǎo)出時選 UTF-8連接串也寫 UTF-8兩邊對齊就不亂碼。4. 視圖、報(bào)表與權(quán)限讓課設(shè)看起來像一個系統(tǒng)只做單表增刪改查答辯大概率被批“像大作業(yè)”。真正讓醫(yī)藥管理系統(tǒng)“系統(tǒng)感”出來的是三個東西能主動發(fā)現(xiàn)問題的視圖、能出報(bào)表的聚合查詢、以及能說清楚的權(quán)限模型。這一章給出這三塊的落地寫法。4.1 快過期藥品提醒把“再過 90 天失效”變成一條查詢醫(yī)藥系統(tǒng)區(qū)別于一般進(jìn)銷存的核心場景是效期管理。一張藥品庫存表里有批號和效期但人工去盯太原始。用一個視圖把“臨期藥品”算出來Java 端直接SELECT * FROM v_expiring_drugs既簡單又能在答辯時講“用視圖屏蔽了復(fù)雜條件”。CREATE VIEW v_expiring_drugs AS SELECT d.drug_code, d.drug_name, s.batch_no, s.expire_date, s.quantity, DATEDIFF(s.expire_date, CURDATE()) AS remain_days FROM drug_stock s JOIN drug_info d ON s.drug_id d.id WHERE s.expire_date BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 90 DAY) AND s.quantity 0 ORDER BY s.expire_date ASC;DATE_ADD(CURDATE(), INTERVAL 90 DAY)是 MySQL 的日期函數(shù)90 天這個閾值你可以改成180或30改成參數(shù)后更適合做“預(yù)警策略”。視圖的好處是條件只維護(hù)在一處Java 端的查詢代碼不會到處散落expire_date判斷。這個視圖在 ER 圖里不需要畫出來但報(bào)告里寫一段“基于視圖的臨期預(yù)警模塊”會讓評委老師覺得你對數(shù)據(jù)庫的掌握超出“會建表”一個層級。4.2 月度銷售統(tǒng)計(jì)GROUP BY 與日期索引的一個典型配合報(bào)表是數(shù)據(jù)庫課設(shè)的高頻考點(diǎn)。下面這條 SQL 統(tǒng)計(jì)最近 30 天每個藥品的銷售數(shù)量和銷售額SELECT d.drug_code, d.drug_name, SUM(i.quantity) AS total_qty, SUM(i.amount) AS total_amount, COUNT(DISTINCT o.id) AS order_count FROM sales_order_item i JOIN sales_order o ON o.id i.order_id JOIN drug_info d ON d.id i.drug_id WHERE o.create_time DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND o.sale_status 1 GROUP BY d.drug_code, d.drug_name ORDER BY total_amount DESC LIMIT 20;關(guān)鍵點(diǎn)有兩個第一WHERE o.create_time ...如果量大了必須配合sales_order.create_time上的索引否則每次統(tǒng)計(jì)都全表掃第二GROUP BY的列要和SELECT的非聚合列一致drug_code、drug_name否則在 MySQL 5.7 以上會直接報(bào)ONLY_FULL_GROUP_BY錯誤這是課設(shè)里被問爆的一個報(bào)錯后面避坑章會專門展開。這里還有一個面試官愛問的優(yōu)化點(diǎn)COUNT(DISTINCT o.id)在數(shù)據(jù)量大時開銷不小如果只是演示可以去掉這個字段或改成“訂單數(shù) ≈ 明細(xì)條數(shù)”減少一層計(jì)算。報(bào)表類 SQL 要在“演示夠用”和“理論正確”之間取平衡真拿千萬級數(shù)據(jù)來壓LIMIT 20 只是保底手段。4.3 權(quán)限模型三張表解決“誰說能看報(bào)表”醫(yī)藥管理系統(tǒng)繞不開的角色無非是“系統(tǒng)管理員”“藥房操作員”“報(bào)表查看者”。如果你的課設(shè)只有一張登錄表和一段if (username.equals(admin))數(shù)據(jù)庫層就太單薄了。常見做法是用最樸素的 RBAC基于角色的訪問控制——三張表-- 用戶表 CREATE TABLE sys_user ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL UNIQUE, password_hash VARCHAR(64) NOT NULL, real_name VARCHAR(20), role_id INT NOT NULL ); -- 角色表 CREATE TABLE sys_role ( id INT AUTO_INCREMENT PRIMARY KEY, role_name VARCHAR(30) NOT NULL UNIQUE, role_desc VARCHAR(100) ); -- 菜單/功能權(quán)限表user 通過 role 獲得權(quán)限 CREATE TABLE sys_menu ( id INT AUTO_INCREMENT PRIMARY KEY, menu_code VARCHAR(50) NOT NULL UNIQUE, menu_name VARCHAR(50), parent_id INT DEFAULT 0 ); -- 角色-菜單關(guān)聯(lián)表 CREATE TABLE sys_role_menu ( role_id INT NOT NULL, menu_id INT NOT NULL, PRIMARY KEY (role_id, menu_id) );三張實(shí)體表再加一張關(guān)聯(lián)表登錄之后查一次角色再查一次菜單集合就能在前端控制“操作員看不到成本價、只有管理員能點(diǎn)盤點(diǎn)”。注意password_hash字段這里只放了 64 字符占位實(shí)際課設(shè)里可以直接用 Java 的BCrypt或SHA-256但一定要在報(bào)告里寫清楚“沒有存明文密碼”——這一句話就能避開答辯時“你這密碼安全嗎”的追問。5. 避坑手冊醫(yī)藥系統(tǒng)里最容易翻車的 5 個點(diǎn)這一章寫給已經(jīng)建完表、正準(zhǔn)備聯(lián)調(diào)的你。以下 5 個坑都是真實(shí)出現(xiàn)過的每一條都用“現(xiàn)象→原因→解決”的方式展開對著排查能省下一個通宵。5.1 金額算錯float 浮點(diǎn)精度引發(fā)的“對不上賬”現(xiàn)象銷售訂單明細(xì)里顯示單價 9.9 元數(shù)量 3 盒總金額卻是 29.699999 元。明細(xì)單條看不出來月度匯總一跑小數(shù)位全亂。原因建表時把price、amount定義成了FLOAT。浮點(diǎn)數(shù)是二進(jìn)制近似存儲9.9 在內(nèi)存里并不是精確的 9.9乘 3 之后誤差被放大。解決金額列全部改成DECIMAL(10,2)庫存數(shù)量按實(shí)際業(yè)務(wù)用DECIMAL(12,3)或INT。已經(jīng)建錯表的用ALTER TABLE sales_order_item MODIFY price DECIMAL(10,2);逐列改。這個坑的隱蔽之處在于數(shù)據(jù)量小的時候肉眼看不出問題直到報(bào)表對賬才暴露。5.2 外鍵刪除失敗刪分類時被“正在使用”卡住現(xiàn)象點(diǎn)擊刪除某個藥品分類程序報(bào)Cannot delete or update a parent row: a foreign key constraint fails或者干脆在DELETE時卡住。原因分類表drug_category被drug_info.category_id外鍵引用系統(tǒng)拒絕刪除“有子數(shù)據(jù)的父記錄”。這不是 MySQL 故障是外鍵機(jī)制在起作用但新手往往不知道看完整錯誤信息。解決三個選項(xiàng)任選。第一業(yè)務(wù)上禁止物理刪除用is_deleted TINYINT DEFAULT 0邏輯刪除這是醫(yī)藥系統(tǒng)最推薦的做法第二先清空該類下所有藥品再刪分類第三刪除前把子表數(shù)據(jù)轉(zhuǎn)移到其他分類。答辯時看到這個報(bào)錯別慌順著外鍵關(guān)系說一句“這是數(shù)據(jù)庫在保護(hù)引用完整性”反而加分。5.3 并發(fā)下單把庫存扣成負(fù)數(shù)現(xiàn)象兩個客戶端同時售出同一種藥品最終庫存變成 -1但界面沒有任何報(bào)錯。我和很多同學(xué)一樣在這地方吃過虧。原因代碼只有“先 SELECT 庫存再 UPDATE 庫存”兩個請求同時讀、后寫的覆蓋了前寫的更新。SELECT 和 UPDATE 之間根本不是原子操作。解決回到 3.1 節(jié)那條UPDATE ... WHERE quantity ?的方式。就算 UPDATE 一行數(shù)據(jù)庫會對命中行加鎖第二次請求會等待第一次提交后才執(zhí)行要么扣減成功、要么影響行數(shù)為 0 被回滾。不要在事務(wù)里先 SELECT 再 UPDATE 來“實(shí)現(xiàn)業(yè)務(wù)判斷”。5.4 中文亂碼Navicat 里好端端Java 一讀就是問號現(xiàn)象在 Navicat 查詢窗口執(zhí)行INSERT中文正常同樣的表用 Java 程序插入庫存表里的藥品名變成???。原因連接字符集不一致。常見的是 JDBC URL 沒帶characterEncoding或者 MySQL 服務(wù)端character_set_server仍是 latin1。解決三步對齊。第一步MySQL 庫、表統(tǒng)一utf8mb4第二步JDBC URL 寫法是jdbc:mysql://localhost:3306/pharma_sys?useUnicodetruecharacterEncodingutf8mb4第三步如果用的是 Druid 連接池確認(rèn)connectionProperties里沒有覆蓋掉 URL 的編碼參數(shù)。這個坑 95% 靠第二步解決剩下 5% 是代碼里建 Statement 時手動指定USE NAMES utf8mb4。5.5 GROUP BY 報(bào)錯明明查詢字段都對了還是提示 1055現(xiàn)象跑月度統(tǒng)計(jì)報(bào)表時MySQL 報(bào)Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column錯誤碼 1055。原因MySQL 5.7 及以上默認(rèn)開啟ONLY_FULL_GROUP_BYSQL 模式要求 SELECT 的非聚合列必須出現(xiàn)在 GROUP BY 里或者被聚合函數(shù)包住。解決先把 SQL 寫成規(guī)范形式列出所有非聚合列如GROUP BY d.drug_code, d.drug_name。因?yàn)閐rug_code和drug_name都在 SELECT 里就得都寫進(jìn) GROUP BY。如果只是想在課設(shè)演示時快速跑通臨時修改sql_mode去掉ONLY_FULL_GROUP_BY也行但報(bào)告里最好別拿出來說——答辯老師通常認(rèn)為這是治標(biāo)不治本的妥協(xié)。6. 驗(yàn)收自測課堂演示前要跑通的三個場景系統(tǒng)寫完后給自己做一次“模擬驗(yàn)收”。這一步的價值在于把數(shù)據(jù)庫層面的特性真正演示出來而不是靠 PPT 念一遍。下面這三個場景能覆蓋事務(wù)、并發(fā)、優(yōu)化三個高頻扣分點(diǎn)。第一個場景是事務(wù)回滾。開一個事務(wù)故意插入一個不存在的drug_id銷售明細(xì)存儲過程應(yīng)當(dāng)返回“藥品不存在”并整體回滾。驗(yàn)證方法很簡單事務(wù)執(zhí)行前記錄sales_order的最大 id執(zhí)行失敗后重新查詢該 id 不存在sales_order_item中也沒有半截?cái)?shù)據(jù)。答辯時說“要么全部成功要么全部不成功”這句話就是用START TRANSACTION和ROLLBACK頂起來的。第二個場景是并發(fā)扣庫存。準(zhǔn)備一個庫存量為 10 的藥品開兩個客戶端同時各買 6 盒。結(jié)果應(yīng)當(dāng)是一個成功、一個提示庫存不足最終庫存為 4 而不是 -2。這里要向老師指出成功方用UPDATE ... WHERE quantity ?拿到行鎖失敗方等待鎖釋放后匹配不到記錄影響行數(shù)為 0 被回滾。我強(qiáng)烈建議在答辯前實(shí)際演示一次因?yàn)椴l(fā)的不確定性會讓很多“理論上正確”的程序當(dāng)場翻車。第三個場景是慢查詢分析。先在sales_order.create_time建索引再跑月度銷售統(tǒng)計(jì) SQL執(zhí)行EXPLAIN看type和rowsEXPLAIN SELECT ... FROM sales_order_item i JOIN sales_order o ON o.id i.order_id WHERE o.create_time 2024-01-01;重點(diǎn)關(guān)注三列type是否為ref或rangekey是否真的用了idx_create_timerows是否遠(yuǎn)小于全表行數(shù)。如果顯示ALL全表掃描就是索引沒生效最常見原因是 WHERE 條件里的列和索引列類型不一致或者create_time在函數(shù)里包了一層。這個EXPLAIN跑完數(shù)據(jù)庫優(yōu)化這一塊的分?jǐn)?shù)基本就拿到了。最后說一個每次答辯都會被追問的細(xì)節(jié)備份與恢復(fù)。課設(shè)報(bào)告里寫清楚“用mysqldump做每日備份恢復(fù)時用SOURCE導(dǎo)回”再加上一句“實(shí)際生產(chǎn)環(huán)境不能只靠單機(jī)備份”。醫(yī)藥數(shù)據(jù)屬于強(qiáng)監(jiān)管數(shù)據(jù)這句話能讓你和只寫了一堆 CRUD 的同學(xué)明顯拉開距離。我在做這類系統(tǒng)的課設(shè)時養(yǎng)成的一個習(xí)慣是在每個核心表上都留一個create_time和update_time字段哪怕當(dāng)時用不上。后面加審核、加審計(jì)、加數(shù)據(jù)對比都會感謝當(dāng)時的這個決定。數(shù)據(jù)庫課設(shè)最怕的不是功能少而是不給自己留余地。希望這份從建表到避坑的整套做法能幫到你至少讓你在后半夜聯(lián)調(diào)時少走兩條彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九X超碰| 久久成人国产精品| 久久露脸国产老熟女| 天天色悠悠激情| 日本道日本道中文字幕日本道最新日本道在线观看| 亚洲在线网站| 欧美18禁91| 一级性爱网| 深夜激情无码| 青青伊人这里只有精品| 国产精品久久久久久久黄无码| 艳美熟妇先锋一二三区| 91丝袜在线播放| 日韩精品99999| 97亚洲自在精品在线观看| 上海一级黄片| 999热日韩精品| 婷婷亚洲色| 久久六六| 色哟哟-国产专区| 精品少妇高潮久久| 欧美大码在线视频| 曰韩av中文字幕专区| 96爱综合| 夜色综合| 亚州国产成人精品女人久久| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 青青在线视频日韩欧美| ,国产乱人伦精品一区二区三区| 高清无码91| 99热综合在线| 午夜超爽| 一本色道综合久久欧美| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产v亚洲v日韩v欧美v片另类| 日韩人妻精品久久久久| 欧美日韩中国x| 日韩精品在线观看网站| 亚洲成人妻日韩在线| 色综合av综合久久| 日韩伦理视频| 综合欧美日韩在线观看| 97超碰人人模人人拍人人| 久偷拍| 久久ww| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 91综合国产精品| 最新欧洲欧美日本激情网站| 高清在线偷拍自拍视频| 色五天伊人| 99re久久| 色97欧美| 91AV天美在线视频| 九九九九九九九九九九精品视频| 亚洲熟妇熟在线电影视频| 中文字幕五区| 精品超碰中文在线| 精品人妻一区二区三区-国产| 久久香蕉国产线看观看猫咪av| 一本久道在线综合视频| 岛国色情视频在线观看| 色哟哟511老熟女| 男人天堂黄片| 日本在线不卡v二区| 国产乱色国产精品免费视| 国产福利电影| 亚洲自拍天堂| 亚洲欧洲网站免费观看| 丁香五月综合| 亚洲综合精品国产一区| 午夜色婷婷| 涩五月婷婷| 抽插无码高清一区| 日韩pv中文| 丁香五月av| 大香蕉伊人久久| 18一区二区三区| 久草色悠悠在线视频| 嗯啊啊啊轻点视频 | 欧美操逼视频二区| 综合久久2017| 国产 日韩 欧美高清| 欧美久久伊人| 鸥美插入视频| 超碰人妻97| 囯戸精品高潮呻吟旡码| 在线看免费无码AV天堂的| 99热在线只有精品| 18精品一二区| 精品国产一区二区三区av在线资源| 2000亚洲男人天堂| 无色无码| 思思热一热婷婷热一热| 亚洲人妻在线一区| 超碰社区97| 91麻豆天美国产欧美日| 欧美 精品国产制服第一页 | 中国大陆国产高清AⅤ毛片| 丁香婷婷激情五月天无毒不卡 | 91热| 久草综合视频| 大香蕉色十月| 岛国片在线观看视频亚洲| 91蜜臀人妻中文字幕在线| 天天舔天天| 2019精品国产无码成人| 欧美成人精品一区| 美女诱惑在线一区| WWW4虎| 大香网站| 国内毛片国产欧美拍| 欧洲站一级二级三级h| 黑丝少妇在线观看| 久操不卡视频| 操逼操逼逼操操逼91 | 9色国产精品一区粉嫩| 久久久久无码一妻区| 亚洲国男人的天堂| 久久99网站| 日韩高清黄片| 最近2018中文字幕在线高清第一页| 亚洲怡春院| 日韩精品高清资源在线| 97超碰色五月| 国内91熟女人妻丝袜天天精品视频在线 | 亚洲人成在线放东京热| 欧美性爱一区二区| 狠狠91| 国内毛片四区| se..亚洲欧美| 91亚洲人| 人人操人人爽人人操人人| 992视频一区| 97视频在线观看网站| 天天躁狠狠躁av| 亚码人妻| 亚洲色电影在线| 91天天综合在线观看| 精品欧美日韩在线观看| 亚洲国产中文字幕| 91高潮| 91香蕉国产尤物视频| 夜夜骑夜夜操| 色乱二区| 中文字幕一区av| 啊嗯好大视频在线观看| 久久久久密臀视频| 伊香蕉综合久久久久久久噜噜噜| 久久在肏| 欧美视频一区二区在线| 五月婷婷丁香六月| 高跟伊人julia ann| 亚洲男人的天堂网| 国产精品9999| 日韩在线性爱免费视频| 男人a天堂手机在线版| 精品成人无码| 欧美中出| 日韩无码服务区| 久久五月婷| 大屁股人妻女教师撅着屁股| 国产suv精品一区二区四| 欧美Aⅴ| 国产精品伦理| 天堂伊人久久| 日日爽夜夜爽| 97av在线视频| 99超碰碰| 国产麻豆一区二三区| 20cm女自慰在线日韩欧美| 日本久久99| 日韩一级片在线看| 97中文字幕一区| 久久高清欧美国产| 操学生天天| 国产激情视频在线观看| 精品夜夜澡人妻无码| 综合亚洲网| 毛片电影一区二区三区| 极品销魂美女一区二区| 中文字幕丝袜人妻| av无码精品久久久久| 六月婷婷激情| 免费看日本操逼视频| 91xingse| 激情综合五月天| 青草视频人妻在线观看| 少妇xx精品| 男人精品天堂一区| 亚洲啪啪性视频| 欧美亚洲清纯| 超碰碰碰碰| 蜜臀99久久国产| 婷婷五月影院| 亚洲第一页第二页激情| 亚洲蜜臀懂色| 啪啪免费| 中文字幕一区二区视频在线观看| 亚洲人在线| 人妻aa| 伊人国产AV| 国产欧美伊人| 丝袜美腿制服人妻二区中文字幕 | 精品九九国产无码| 一本久久久精品| 久久久一级| 中文字幕日韩人妻视频| 久久久性爱| 亚洲视频,小说| 欧美一级黄片免费播放| 日本孕妇一区二区视频操逼免费看 | 美骚妇av高清在线| 蜜臀久久一区二区| 自拍视频一区在线观看| 超碰97亚洲| 午夜操操操| 日本天堂网| 国产97视频免费观看| 亚洲se91| 日本二三四区| 亚洲 欧美 日韩另类 麻豆| 射丝袜高跟鞋99| 狠狠综合网| 国产www色在线观看| 国产日韩无码一区二区三区久久区| 极品一区二区三区免费| 97资源免费视频| 色老汉色| 欧美白嫩女HD| 天天日天天操VV| 超碰免费人妻在线| 青青草AV色| 久久人人爽av亚洲精品天堂桃色| 91成人在线| 日韩情色AV| 亚洲美欧999| 亚洲欧洲小说图片视频 | 日本性一区| 久久机热| 天天欧美97| 啊啊啊啊啊啊好湿好爽视频| 麻豆av一区二区三区| 91在线欧色| 岛国小电影| 吉川爱美亚洲二区在线| 国产免费一区| 噜噜噜噜久久久精品免费| 综合国产影视三级| 91亚洲欧美色图| 100啪啪视频大全| www.狠狠干.coom| 亚春色色| 国产丝袜高跟美女av免费观看| 欧美一级黄色免费专区| 东京太热久久久| 欧美性生活男人的天堂| 97超碰热线| 黄色视频特级毛片| 青青草久草| 国产精品久久久视频| 免费日韩黄片| 欧美日韩中文字幕不卡| 国产av白丝| 一起草日韩| 99re99| 神马久久网| 狠狠操狠狠爱| 狠狠操官网| www.91视频网| 国产第11页| 久操综合在线| 国产1769在线| 日本黄色精品专区网站| 美女91网| 激情小说亚洲视频| 99999精品成人| 自慰白浆在线观看| 少妇人妻好深太紧了vr91| 麻豆AV一区二区天美传媒| 久久久久亚洲精品| 久9久| 99色婷婷中文字幕乱色| 久久神马影院| 久久久久久久久一区二区三区| 五月天AV资源| 秋霞一集毛片观看| 人妻中文在线| 人妻无码视频一区二区三区久久| 国产sv美女内射| 豆花视频操逼网址| 色色五月丁香| 欧美 日韩 另类 亚洲| 婷婷探花久久精品一区| 91免费看一区二区三区| 99ri视频| 天天干1区2区在线| 超碰午夜| 国产精品99久久久www| 五月天婷婷综合网| 亚洲精品天堂久久A∨51成人漫 | 久久一留热品黄| 探花在线免费观看视频国产一区| 青草精品视频日本久久久久网站在线| 香蕉免费一区二区三区不读| 亚洲18禁| 99无码视频| 亚洲av影音先锋| 色黄污美女啪啪啪免费网站| 久久久久久九九九| 日夜伊人网| 深夜激情| 一区二区三区看视频| 性交一区二区在线播放| 亚洲精品欧洲精品| 久久久工口| 色婷婷丁香五月| 91精品伊人久久久大香线蕉91| 午夜男女爽爽大片免费观看| 亚洲成人激情小说视频| 久久久亚洲| 久久久久久久| 岛国黄片网站| 天天日天天操心| 91少妇通奸网站| 国产AAAAAABBBBB| 九九九九九九九精品视频| 性爱1区| 五月婷婷五月天| 亚洲熟女国产综合另类| 综合天天网| 男女香蕉一区二区| 亚洲欧洲激情卡通另类文学四射小说网站| 999久久久久久久精| 中文一区二区三区影院| 91丝袜人妻| 欧美日韩不卡传媒| 中文字幕一区二区视频在线观看| 麻豆一区二区AV天美| 另类图片五月天| 婷婷九月国产| 色淫网站优优视频| 少妇激情一区二区三区视频| 三四中文字幕| 欧美黄片视频在线观看免费| 精品无人区麻豆乱码1区2区图片| 国产自产自拍| 亚洲成a人在线观看久| 欧美狠狠弄| 婷婷五月天激情小说| 萌白酱自拍视频| 欧洲亚洲少妇| 天天精品| 99热这里只有精品1| 亚洲AV成人无码久久精品播放| 久久久中文版| 五月婷网站| 在线情色电影 91大 | 婷婷涩嫩草鲁丝久久午夜精品| 另类老少妇| 久久超碰av在线| 青女偷拍网| 怡红院视频在线| 日韩欧美aⅴ综合网站发布| 91亚洲欧美色图| 日本福利社| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 天天看少妇| 9l视频自拍9l九色成人| 一区二区三区高清天码| 免费岛国一级片| 熟女少妇一区二区三区| 无码九九九九| 天天日美女的B| 97人亚洲综合字幕| 刺激性视频黄页| 婷婷五月天激情小说| 亚欧Av| 国产成人一级av88| 亚洲AV无码AV吞精久久久久| 精品毛片av一区二区| aaa亚无码专区| 日韩猛交| 夜色91| 夜夜爽夜夜操| 亚洲av噜噜噜噜噜噜| 国产精品乱码久久久久| 中出欧美| 中文操逼字幕| 91艹B视频| 无码人妻精品一区二区中文| 国产剧情AV不卡在线观看| 岛国艾薇凹凸视频天堂| 日本99久久| 色五月综合| 超碰79人人乐| 欧美日韩淫加| 乱码人妻一区二区三区| 97综合久第一页| 亚洲天天自拍| 国产精品人妻无码久久久老鸭窝| 久久 国产 无码| 黑人狂躁日本妞一区二区三区| 国产性爱在线视频一区二区| 欧亚乱色熟女一区二区| 中文字幕一区av| 久久久工口| 97欧美精品综合| 欧美熟女丝袜| 黑人在线91| 在线αⅴ| 亚洲av影音先锋| 国产67194| 毛片视频白嫩| 91色伦综合| 久久久天堂| 蜜臀无码视频在线观看| 蜜桃视频成a人v在线| 立川理惠加勒比无码| 亚洲最大91网| 国产一区二区久久| 欧美牲| 国产精品人妻熟女aⅴ| 最新国产亚洲精品精品国产亚洲综合| 蜜臀久久久久久999| 夜夜嗨绯色| 精品国产乱码久久久| 日本人妻伦在线中文字幕| caoni国产亚洲av| 女人天堂AV五区在线| 情侣操 逼视频99| 国产97色在线 | 亚洲| 国产毛片片精品天天看视频| 五月婷婷爱六月丁香色| 精品一区二区三区四区外站| JuliaAnn丝袜熟女系列| 国内精品久久久久影院亚洲| 日日橹狠狠爱欧美超碰| 夜夜嗨视频| 国产三区免费在线观看| 97se综合网| www欧美91| 日韩欧美tv一区二区在线观看| 操久久久久久| 鸥美中出| 日本岛国黄色网址| 精品人妻一二三四区视频| 大香蕉欧美| 亚洲超碰在线| 偷拍亚洲视频一区二区三区四区| 日韩无码精品综合久久| 东京太热久久久| 日韩无码服务区| 日本高清_区二区三区| 亚洲综合影视| 中日韩免费看男女操逼大全| 91操操| 国产熟女高潮一区二区三区| 精品人妻av在线播放| 亚洲不卡av在线| 97爱爱| 亚洲有薄码区日本系列中文字幕| 日韩欧美三级| 女人被添高潮免费视频| 欧美色图自拍| 色牛牛AV| 久久久久久裸体| 成人午夜小视频手机在线看| 天天综合网~91入口| 无码人妻精品一区二区中文| 亚州久久9| 日本三级A片网站com| 欧美少妇一区二区三区| 亚洲成人黄色在线观看| 午夜天堂精品久久| 中国少妇XXXX做受| 蜜臀99999| 福利操逼| 中文字幕第二页| 久久97| 97网色| 蜜桃久久综合视频| 国产精品黑人一区二区三区| 国产二区三区粉嫩在线| 日日日日做夜夜夜夜无码| 欧美熟女丝袜| 亚洲精品乱码久久久久久蜜桃麻豆 | 看黄片视频免费| 日日玩天天干| 加勒比大香蕉视频在线| 激情五月天中文字幕色| 熟女欧美日韩综合婷婷| 亚州操逼图| 欧美美逼| 国产一区麻豆免费观看| 欧美人妻精品一区二区| 欲香欲色综合天天伊人| 青娱乐av在线| 中文字幕丝袜国产第一页不卡| 玖玖超碰熟| 成人丁香五月| 天天操夜夜操狠很操| 激情四射婷婷六月天| 色婷婷电影| 少妇熟女1区2区3区| 欧美激情久久久久| 99久热| 色欲av一区二区三区蜜芽| 99后入| 好吊色在线观看| 在线无码视频| 国产成人五月天丁香花| 国产欧美日韩臀| 国产精品激情久久久久久久| 91内射| 91国产丝袜美女| 久久极品一区二区| 日本欧美亚洲高清在线看| 亚洲欧美另类小说| 国产久9| 极品粉嫩一区二区| 91超级碰碰| 亚洲精品无码成人久久久99| 亚洲色图图片| 人妻另类| 国产欧美后入| 狠综合网| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 成人夜夜爽| 久久夜黄色无码A级大片| 久夜视频| 91痴汉| 精品成人女人久久| 色狠人在线99| 欧美制服另类丝袜| 五月天激情四射| 午夜福利视频在线一区| 熟女这里只有精品6| 又大又大又大又粗爽高潮观看| 丁香7月婷婷| 欧美性生活内射| 精品视频专区| 精品99999久久久久久| 99热这里只有精品9| 黄色一级视| 国产人妖的免费的视频| 国产成人99久久亚洲综合| 熟女人妻精品一区二区视频| 上床啊啊啊| 91成人亚洲色图| 老色鬼成人精品视频下载大在线观看| 亚洲人妖网| 国产久久日韩网站导航| 操一区| 久久、1234| 伊人网在线观看| 中文久久一区| 一区二区不卡| 欧美亚州色的图| 欧美在线视频播放| 大香蕉92| 久久亚洲一区二区色婷婷| 俞拍自拍| 麻豆一区二区三区在线看| 麻豆色99999| 97在线视频免费看| 97免费在线| 中文字幕在线免费观看视频| 日韩色欲久久一二三四区| 久久综合中文国产| 亚洲 欧美 天天| 校园春色综合| 91夜夜蜜桃臀1区2区3区| 操逼不卡中文字幕| 立川理惠无码一区二区| 日韩精品在线观看网站| 色婷婷丁香五月天| 97久久精品亚洲| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 骚逼高潮久久精品| 精品91摸| 久草精品一区| 国语精品av| 久久久少妇| 午夜福利激情在线视频| 久久精品国产72国产精品福利| 乱老女人一区二区视频| 亚洲……91| 天天综合网1| 日1区2区3区2020| 97视频在线| 黄在线| 色啪网| 91天堂视频| 97操综合| 亚洲AV无码乱码| 国产精品探花视频| 天天日日舔舔| 嗯嗯啊啊日韩精品| 蜜臀99久久| 99久久精品无码一区二区| 人妻中文在线| 伊人991| 97碰碰色| 亚洲午夜福利在线影院| 欧美色三级片91| 操死我了啊啊啊| 欧差乱伦二三| 亚洲图片欧美在线视频| 爱啪精品一区| 国产精品第一页国产大屁股视频免费区 | 亚洲天堂久久| 日韩电影天堂视频二区三区| 超碰在线一区| 欧美性爱五月天| 男人天堂综合| 日本成a人v网站在线观看| 俺去俺来也在线www| 亚洲码和欧洲精品激情系列| 农村少妇久久久久久久| 色哟哟511老熟女| 嫩草 人人网精品| 丰满人妻一区二区三区免费 | 色五月亚洲| 久久久一区二区| 久久久一区二区三区三州| www五月| 舔舔啊| 99国产精品视频尤物| 无码一区二区三区四区五区六区七区八区九区十区视频 | 插入粉嫩少妇视频| 国产在线视频二区| 一区麻豆 高清中文字幕| 97鸡把在线视频| 国产一区二区在线电影| 91欧美另类| 激情抓乳插进去啪啪啪日韩| 特级大荫道BBwBBwBBW| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 三及片网站| av在线资源| 一本久久久精品| 91人妻Pr| julia国产在线 | 欧美日韩国产电影| 无码人妻精品一区二区三区99不卡| 骚逼高潮久久精品| 欧美天天搞| 婷婷日韩一区二区三区中文字幕在线| 怡春院久久| 69精品人人人人| 欧美姓爱综合网| 国产伦精品一区二区三区视频女| 91熟女丨老女人| 五月婷婷激情网| 搡老女人老91二区| 冬京热男人的天堂| 日韩性爱1级片视频| 久久色一区二区| 亚洲高清无码在线桃色| 肉丝中文无码高清| 欧美黄色片AAAAA| 极品色综合| 欧美综合97www| 美女操逼A A| 校园春色宗合网| 国产女人91精品嗷嗷嗷嗷| 97欧美日韩精品| 人妻天天夜夜爽一区二区| 四虎精品永久在线播放| 欧美视频激情久久久久久| 色综合av男人天堂| 外国免费性情大片| 男人的天堂2018.| 日韩色欲久久一二三四区| 激情婷婷丁香网| 免费夜夜爱黄色视频毛片| 欧美黄色手机在线观看| 久久日本熟女精品一区| 五月香婷婷| 日本爽爽爽爽爽爽免费视频| 久久久专区| 大香蕉啪啪啪| 综合伊人激情| 久久9免费视频| 啊啊啊啊视频免费| 人妻日日干| 日本一道在线播放高清| 欧美91网站| 女优视频第10页| 久久精品久久九九精品| 亚洲欧洲综合| a人片中文字幕一区二区| 亚洲成av人片色午夜乱码| 亚欧色图在线激情| 丝袜视频网国产90| 中国黑人三级片网站上区| 日本精品第一视频在'| 天天干人人看综合| 日本五区不卡| 午夜啊啊啊| AA丁香综合激情| 国产无马视频| 亚洲无码精品AV久久久| 9 1超碰九色| 台湾大香蕉99热| 亚洲男人天堂Av| 国产精品久久久无码AV网站| 中文字幕97| 久区视频| 国产AV人人夜夜澡人人爽麻豆| 91美女视屏| 91九色首页| 亚洲欧美一区二区三区一猛片| 草草草视频在线免费看| 欧美日韩狠狠爱| 免费亚洲国产精品久久一区| 国产天天骚| 日本免费中文一区二区三区四区 | 丰满少妇精品一区二区| 亚洲欧美在线综合| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 无码又爽又硬又激情免费视频| 中文字幕亚洲热播人妻| 欧美高清无码免费视频高清版| 亚洲无码一区成人免费午夜| 人妻色情天天操| 亚洲污污网站| 男人 天堂 日 亚洲| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 99re在线视频国产| 91N综合在线| 久偷拍| 91网18| 亚洲欧洲无码97久久精品| 久九干| 色女综合| 中文字幕版| 久久久久久久久久久久黄色| 精品无人区麻豆乱码久久久| 日本免费一区二| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 久久久久久91香蕉国产| 中文字日本乱码| 91美女视屏| 亚洲欧美九九九| 麻豆久久久久久久久丝袜| ss久久| 能看的AV| 国产精品青青草| 蜜臀在线免费观看在线免费观看| 欧美日不卡| 97青青操视频| 97超碰天天爱天天爱| 亚洲色图a| 天天干天天日天天射黄色片| 精品乱码久久久久| 成人久久精品| 欧美肥臀在线| 男同专区一区二区三区在线| 女人综合网| www.av家庭乱伦| 国产人妖的免费的视频| 中文人妻av高清一区| 国语av最新自产拍在线观看| 亚洲砖码砖专无区2023| 99热网站| 欧美熟妇乱码在线一区| 超碰地址97| 欧美最婬乱婬爆婬性视频 | 国产九九九九九九| 人妻铁牛TV| 69视频入口| 欧美另类精品xxxx| 丁香婷婷九月| 久久综合久久综合人久久夜精品| 超碰97资源中文字幕| 蜜臀一二三| 亚洲第二页| 老司机福利青青草| 日韩亚洲精品一区二区| 色五月首页| 国产青视频| 天天香香欲综合| 上床不卡网站| 蜜区区视频79| 九九精品99| 久久亚洲婷婷| 日本久久综合| 91性网| 狠日操| 淫妻综合网| 射丝袜大香蕉| 亚洲欧洲激情卡通另类文学四射小说网站 | 人妻少妇被猛烈进入中| 伊人五月天| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 欧美日韩亚洲国产中文永久天天看| 日本不卡在线二区三区| 国产又黄又爽又刺激久久久久久| 色五月激情网| 九九成人精品| 加勒比少妇AV婷婷六月天超碰超碰| 欧美,日韩,中文,另类| 国产在线综合福利网站| 久久曰曰| 超碰久久草| 97爱| 国产激情视频在线观看| 国产日韩欧美| 熟妇乱伦一区二区| 99色热| 国产精品乱码久久久久久| 九九九精品| 狠狠干综合| 少妇丝袜在线观看AV| 大香蕉乱级| 亚洲操操操| 91天天爽| 一起草日韩| 精品国产99| 91黄射| 亚洲中文日韩精品| 91n免费处女| 日韩 国产 欧美自拍| 亚洲午夜免费狠狠干| 色777999综合| 亚洲九月丁香| 91 亚洲情侣偷拍 久久| 日韩中文字幕国产| 久久伊人网视频一区二区三区 | 成功精品影院| 毛片99-全集电影手机免费观看完整-B029AV | 日韩欧美天天爽爽爽天天爽爽| 探花视频免费观看国产专区| 亚洲天堂中文字幕无码男同| 中文一区二区| 成人免费在线网站| 亚洲精品1区| 亚州免费啪啪视频| 欧美性爱一区二区三区四区| 91深夜夜| 福利天堂| AA特级绝黄| 超碰在线1234区| 福利伊人玖玖国产| 呦女网站| 亚洲成人性爱在线观看| 后入综合久久| 色人久久| 蜜臀一区二区三区在线| 成人熟女视频一区二区三区| 超碰成人人人爽人人爽| 密臀在线免费观看| 成 人 A V免费视频在线观看| 69综合网| 欧美黄色大片在线观看 | 91无摭挡| 精品一区二区人妖| AV色女综合| 天天躁日日躁xxxxx| 日韩精彩视频| 青青草中文-久久青草精品一区二区三 | 亚洲在钱| 午夜福利激情在线视频| 欧美最大综合网| 99婷婷| av黄图片在线观看| 九九九九九用不成了| 亚洲最新a在线观看| 中国少妇啪啪视频| 国产伊人自拍| www.黄色在线| 天天欧美| 亚洲影院小综合| 成人日本视频人妻在线| 亚洲中文字幕一区二区| 青青草伊人久久| 欧美人人操人人插| 久久精品91| 天美av在线观看| 黄人人操人人操| 亚洲性综合11| 亚洲熟妇图片| 亚洲精品a人片在线观看视| 九九九九免费| 粉嫩久久久久| 日韩天美| 色呦呦国产精品免费看| 亚洲欧美九九| 天天操天天干一区二区| 久久国模av| 日本久久天堂| 国产二区三区免费视频| 热热色AV| 婷婷国产精品九区| 欧美顶级黄片AAAAA在线免费看| 亚洲97| 日产成人久久| 亚洲精品天天影视综合网 | 不卡一区视频| 大稥蕉免费视频这里只有精品| 日韩国产欧美伦理在线| 91bbbbbb| 免费精品AB| 日韩成人网址| 欧美不卡二区| 国产又色又粗又黄又爽| JuliaAnnXXX888| 自拍亚洲综合| 欧美成人精品一区二区三区| 丁香六月婷婷久久综合| 国产精品一级毛片不卡视| 爱爱动态60秒| 大香蕉伊人75| 成人天天看站长推荐| 人人色97| 色色综合网站| 亚洲中文国际强奸字幕| 久久久精品中文字幕爱豆| 欧美综合色,www| 后入式999| 欧美色日| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚洲无码成人精品| 高清国产精品福利网站| 久久二| av草草在线电影| 九九九九一级| 久久精品国产99国产精品亚洲| 人妻激情偷乱视频一区二区三区 | 欧美顶级黄色大片免费| 国产精品成久久久久午夜午夜| 蜜臀久久99精品久久久久久| 亚洲图片偷拍欧美| 日韩精品系列| 久久久久久久久国产| 久久久久亚洲一区女同性恋中文字幕| 视频在线观看一二三区| 婷婷五月天成人网| 99热这里只有精品9| 五月婷婷AV| 人人色人人操在线| 99性视频| 婷婷九月| 又大又黄国产| www.操| 麻豆国产av网| 日日夜夜国产综合| 97人人爱人人做人人乐| 久偷拍| 欲射影视| 国产精品一区二区后入| 人妻熟女一区二区| 中文字幕55555| 人人澡综合涩| 美日韩一二三区| 久久亚码| 91熟女视频网| 亚洲图片第一页| 亚洲爽图| 天天懆天天日| 老熟妇一区二区三区…| 亚洲色图殴美色图激情乱伦| 国产免费一区在线观看| 99精品无码| 北京专精特新企业招聘信息| 刺激精品视频| 日韩无码AB| 四季av一区二区凹凸精品小说| 久肏视频字幕| 亚洲一区二区在线观看91| 一级片视频啪啪| 一区二区三区高清天码| 成人 日本A片无码8888| 影音先锋视频在线| 日韩国产中文字幕| 欧美少妇熟女| 久久骚少妇| 天天日天天干天天摸天天操| 亚洲在线a| 操逼无码操逼| 亚洲Av无码成人精品国产| 夜夜爽33333| 区一二区日韩亚洲乱码av电影| 麻豆a'v电影| 偷拍新久久| 男人的天堂网页| 亚洲 中文字幕 精品| 乱伦图一区| 最新中文字幕在线亚洲| 久久免费精彩视频| 久久熟妇五十路一区| 精品无av| 手机看片日韩人妻| 蜜乳AV色欲AVAV无码| 久久曰曰| 老熟女阿 国产91| 亚洲国产91精品一区二区久久| 精品国产精品一区二区| 懂色综合久久久| 少妇精品久久久八区九区| 日韩欧美亚洲自拍偷拍| 日本性爱不卡视频| 怡红院怡春院| 三级色影综合网| 中文字幕精品一区欧美| 丁香五月激情网| 国产人妻精品一区二区三区秋霞| 亚洲欧美另类图片| 操逼网站视频漫画国产| 五月丁香在线| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 日日夜夜精品视频| 亚洲第一在线视频| 国内97干免费看| 丰满人妻一区二区三区色-百度| 日韩性爱电影一区| 欧美国产一区二区三区麻豆传媒| 97ai亚洲| 日韩一级欧美一级在线观看| 亚洲精品骚逼| 夜夜欢天天干| 女人高潮抽搐喷水视频网站| 欧美成人一区二区| 91成人无码| 色墦五月丁香| 国产丝袜一区二区三区| 国产一区二区三三视频| 丝袜性亚洲| 伊人国产成人av网站| 91精品久久久久久77777| 日韩97精| 蜜臀操逼黄色视频操的好爽| 有码色中文字幕在线观看| 99re9| 亚洲天堂区| 东北女人性交| 大香蕉乱伦视频网| 精品人妻一区二区三区不卡断 | 欧美少妇性乱| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 欧美人妻一区| 欧美在线视频观看一二三四区高清| 国产精品麻豆免费视频| 懂色AV中文| 另类图片欧美激情综合| 亚洲一区二区三区麻豆传媒| 欧美视频一| 密臀在线免费观看| 成人26uuu| 殴洲老熟女| 69少妇一区二区| 超碰欧美在线欧美| 国产一区二区视频在线播放| 亚洲凸凹超碰成人| 日韩av在线免费网站| 丁香7月婷婷| 思思性爱| 中文 人妻 制服| 久久久久久久久久久久久久久性生活视频 | av 模特一区了| av资源在线播放天堂| 97亚洲色图| 夜夜爽77777| 国产亚洲精品一区二区三区| 9999亚洲精品| 无码乱人伦中文视频| 日日骚一区二区三区| 国产欧美日韩女同性恋ww喷水精品| 97 色综合| 午夜免费视频1000| 四虎影视国产精品| 色色亚洲| 澳门黄片一香蕉视频| 天天天天做夜夜夜夜做| 91被操| 精品福利视频| 久久精品欧美一区二区三区不卡| 97公开久久| 九九无码视频| 欧美肥臀在线| 99热官网| 中国少妇啪啪视频| 国产白嫩精品久久| 男人高清无码一区二区| 亚洲丝袜二区在线| 91久热这里只有精品| 欧美精品三级黄片| 精品999日本| 91在线无码精品秘 软件| 国产女大学生AV| 热久久无毒不卡| 少妇天堂网络| 欧美日韩性爱操大逼| av影片在线观看不卡| 99这里都是精品| 午夜天天碰综合视频| 殴美在线AⅤ| 久久精品国产亚洲5555| 97精品97久久| 国产日韩精品一区二区三区| 日本性爱少妇| 人人做,人人操,人人摸| 麻豆区久久久久亚| 狠狠干精品一二三四五六2022| 国产亚洲精品自在线亚洲情侣| 国产精品96| 国产夫妻性生活视频| 久久久18禁| 床上啊啊啊一区二区三区| 国产黄片在线免费观看| 成人精品在线免费视频| 九九热精品| 精品一二三区女同| 96AV久久久| 日韩97超碰中文字幕| 国产亚洲精品美女久久久m| 无码久久国产| 人人妻人人爱人人玩| 91日产欧美| 亚洲AV免费在线观看| 五月婷色| 国产一区二区三区影片| 狠狠操官网| 亚洲一区中文精品| 99999精品| 日日不卡av| 青青草国产一区二区三区| 日本人妻天堂网站在线播放| 小草三级久久观看| 中文字幕jul-617人妻熟女| 日韩欧美综合激情| 亚洲精品性爱片| 国产亚洲色停停久久99精品91| 啊啊啊啊嗯嗯在线久久久| 亚洲综合伊人| 日本最新1区2区3区| 久久久久久久久久久久黄色 | 黑人猛交| 国产精品国产精品国产| 殴美色网| 香蕉精品二区二区| 少妇色综合| AV色五月天| 精人妻无码一区二区三区伊人直播| 艾草av| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 96AV久久久| av大香蕉网站| 综合久欧洲| 人人澡人人爽人人精品| 欧美18禁91| 九九九久久久久| 毛片17S| 美腿色图| 日韩美女高潮喷水视频| 天综合网欧美| 久久人妻无码毛片A片麻豆| 婷婷精品国产欧美精品亚洲人人爽| 久久一本大香蕉 |