99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

花店管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì):從ER圖到建庫(kù)避坑全解析

花店管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì):從ER圖到建庫(kù)避坑全解析 簡(jiǎn)介面向數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)習(xí)者與高校學(xué)生的花店管理系統(tǒng)設(shè)計(jì)報(bào)告PDF完整覆蓋系統(tǒng)規(guī)劃、用戶需求分析、功能結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)及關(guān)鍵模塊實(shí)現(xiàn)等核心環(huán)節(jié)以SQL Server 2005/2008為開(kāi)發(fā)工具結(jié)合線上線下商業(yè)模式展開(kāi)真實(shí)項(xiàng)目演練。整個(gè)壓縮包僅含1個(gè)PDF文檔大小約566KB內(nèi)容精煉但步驟完整適合作為數(shù)據(jù)庫(kù)課程設(shè)計(jì)參考模板或自學(xué)實(shí)踐資料。已有1925人學(xué)習(xí)對(duì)于想要掌握數(shù)據(jù)庫(kù)設(shè)計(jì)流程、ER模型構(gòu)建與規(guī)范化分析的同學(xué)具有直接借鑒價(jià)值。報(bào)告還包含概念模型、邏輯模型與物理模型的逐步推導(dǎo)以及員工權(quán)限、顧客訂購(gòu)、倉(cāng)庫(kù)管理等典型業(yè)務(wù)場(chǎng)景可幫助讀者快速理解從需求到實(shí)施的完整數(shù)據(jù)庫(kù)設(shè)計(jì)思路。1. 花店管理系統(tǒng)為什么數(shù)據(jù)庫(kù)課程設(shè)計(jì)都愛(ài)拿它開(kāi)刀數(shù)據(jù)庫(kù)課程設(shè)計(jì)的題目每年都換著花樣但花店管理系統(tǒng)幾乎是出場(chǎng)率最高的那個(gè)。原因不復(fù)雜花店的業(yè)務(wù)天然覆蓋了商品管理、庫(kù)存、訂單、客戶這幾張典型業(yè)務(wù)表增刪改查、事務(wù)、統(tǒng)計(jì)報(bào)表全都能踩到規(guī)模又剛好夠一個(gè)學(xué)期做完不會(huì)大到失控。這篇筆記就圍繞這個(gè)題目把從需求拆解到 ER 圖、建庫(kù)腳本、功能實(shí)現(xiàn)再到驗(yàn)收演示的完整路徑拆開(kāi)講順便把那些不踩一次就發(fā)現(xiàn)不了的坑提前標(biāo)出來(lái)。適合正在做課程設(shè)計(jì)、想交付一份能上臺(tái)講的完整方案的讀者。2. 需求拆解與概念設(shè)計(jì)從「賣花」到 ER 圖的三個(gè)關(guān)鍵決策2.1 系統(tǒng)邊界哪些模塊必須有哪些是畫(huà)蛇添足拿到題目先別急著畫(huà)圖第一步是劃邊界?;ǖ旯芾硐到y(tǒng)的最小可用集合通常包含五塊花材資料管理名稱、品類、進(jìn)價(jià)、售價(jià)、庫(kù)存管理入庫(kù)、出庫(kù)、當(dāng)前存量、客戶管理姓名、電話、地址、會(huì)員等級(jí)、訂單管理下單時(shí)間、總金額、狀態(tài)、訂單明細(xì)一個(gè)訂單買了哪些花、各幾支、成交單價(jià)。這個(gè)集合恰好覆蓋了數(shù)據(jù)庫(kù)課程設(shè)計(jì)的核心考點(diǎn)主表、從表、外鍵關(guān)聯(lián)、一對(duì)多與多對(duì)多拆分、統(tǒng)計(jì)聚合。員工排班、送花路線規(guī)劃、采購(gòu)預(yù)測(cè)這類需求除非老師點(diǎn)名要求否則不要自己加——課程設(shè)計(jì)的時(shí)間窗口就那么多多一張表就多一倍的聯(lián)調(diào)成本而且評(píng)審老師更看重你對(duì)自己設(shè)計(jì)的那幾張表能不能講清楚而不是表的總數(shù)有多少。邊界劃完還要確認(rèn)角色。花店系統(tǒng)最常見(jiàn)的角色是店長(zhǎng)管理員和顧客普通用戶。如果報(bào)告里額外引入配送員就要多設(shè)計(jì)一個(gè)接單狀態(tài)流工作量和出錯(cuò)概率同時(shí)上升。這一條寫(xiě)進(jìn)需求分析里評(píng)審時(shí)能少被追問(wèn)好幾個(gè)問(wèn)題。2.2 實(shí)體與聯(lián)系客戶、訂單、鮮花、庫(kù)存的關(guān)系建模實(shí)體層面對(duì)應(yīng)五張核心表Flower花材、Customer客戶、Order訂單、OrderItem訂單明細(xì)、Inventory庫(kù)存再加一張 Admin 表做登錄。關(guān)系層面要講清楚四條線客戶與訂單一對(duì)多。一個(gè)客戶可以下多個(gè)訂單訂單表的 customer_id 是外鍵。訂單與訂單明細(xì)一對(duì)多。一個(gè)訂單包含多條明細(xì)明細(xì)表的 order_id 是外鍵?;ú呐c訂單明細(xì)一對(duì)多的反向視角本質(zhì)是花材與訂單的多對(duì)多被明細(xì)表拆開(kāi)?;ú呐c庫(kù)存一對(duì)一。兩種建模選擇庫(kù)存字段直接放進(jìn) flower 表或者獨(dú)立一張 inventory 表。我一般選獨(dú)立表理由是我希望花朵基本資料和實(shí)時(shí)庫(kù)存量是兩種變更頻率不同的數(shù)據(jù)分開(kāi)后修改庫(kù)存不影響花材資料也可以單獨(dú)做庫(kù)存預(yù)警。這里有一個(gè)典型建模錯(cuò)誤把訂單內(nèi)容直接用一條帶花材名稱的文本字段存進(jìn) order 表省掉明細(xì)表。演示時(shí)看著省事但沒(méi)法回答這個(gè)月賣得最好的花是什么因?yàn)槟銢](méi)有明細(xì)粒度的數(shù)據(jù)。我在課程設(shè)計(jì)里堅(jiān)持拆明細(xì)表字段包含 flower_id、quantity、unit_price、line_total。注意 line_total 是冗余字段可由 quantity 乘 unit_price 推導(dǎo)但在訂單業(yè)務(wù)里保留快照值是合理做法原因在 4.2 里講。2.3 畫(huà) ER 圖符號(hào)規(guī)范與三處自檢點(diǎn)畫(huà) ER 圖我用 draw.io免費(fèi)且導(dǎo)出的 SVG/PDF 能直接嵌進(jìn)課程設(shè)計(jì)的 Word 里。部分學(xué)校要求 PowerDesigner兩者在評(píng)審那里等價(jià)。繪制時(shí)盯住三個(gè)檢查點(diǎn)每個(gè)實(shí)體必須有主鍵主鍵用下劃線標(biāo)注。一對(duì)多關(guān)系用 1 和 n 標(biāo)注方向不能畫(huà)反。多對(duì)多必須拆成兩個(gè)一對(duì)多中間實(shí)體用矩形或菱形突出。畫(huà)完做一次連通性自檢從 Customer 出發(fā)沿關(guān)系走到 Flower路徑是否完整如果中間斷掉說(shuō)明有一張關(guān)聯(lián)表沒(méi)畫(huà)對(duì)。這一步能提前暴露外鍵設(shè)計(jì)缺陷避免建庫(kù)時(shí)才發(fā)現(xiàn)表之間對(duì)不上。提示課程設(shè)計(jì)的 ER 圖里我會(huì)把 OrderItem 這個(gè)中間實(shí)體用明顯標(biāo)記突出并在圖下方寫(xiě)一句為解決花材與訂單的多對(duì)多關(guān)系引入關(guān)聯(lián)實(shí)體。評(píng)審老師第一眼就看你有沒(méi)有這個(gè)意識(shí)。做了以上三步概念設(shè)計(jì)結(jié)束可以進(jìn)入邏輯設(shè)計(jì)。這里補(bǔ)充一句關(guān)于課程設(shè)計(jì)報(bào)告PDF的組織需求分析、ER 圖、關(guān)系模式這三節(jié)建議放在報(bào)告前三分之一老師通常先翻到這里判斷你有沒(méi)有理解業(yè)務(wù)。3. 邏輯設(shè)計(jì)與建庫(kù)腳本MySQL 表結(jié)構(gòu)、約束與外鍵3.1 建庫(kù)建表五張核心表的 DDL 與字段選擇我默認(rèn)使用 MySQL 8.x 的長(zhǎng)期支持版本存儲(chǔ)引擎 InnoDB字符集 utf8mb4。下面是完整的建庫(kù)建表腳本-- 建庫(kù)花店管理系統(tǒng)統(tǒng)一 utf8mb4 CREATE DATABASE IF NOT EXISTS flower_shop DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE flower_shop; -- 花材表花的基本資料 CREATE TABLE flower ( flower_id INT AUTO_INCREMENT PRIMARY KEY COMMENT 花材主鍵, flower_name VARCHAR(64) NOT NULL COMMENT 花材名稱例如紅玫瑰, category VARCHAR(32) NOT NULL DEFAULT 鮮切花 COMMENT 品類鮮切花/盆栽/干花, purchase_price DECIMAL(10,2) NOT NULL COMMENT 進(jìn)價(jià), sale_price DECIMAL(10,2) NOT NULL COMMENT 售價(jià), supplier VARCHAR(64) NULL COMMENT 供貨商, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 創(chuàng)建時(shí)間 ) ENGINEInnoDB COMMENT花材資料表; -- 庫(kù)存表與花材一對(duì)一 CREATE TABLE inventory ( flower_id INT PRIMARY KEY COMMENT 關(guān)聯(lián)花材主鍵, quantity INT NOT NULL DEFAULT 0 COMMENT 當(dāng)前庫(kù)存數(shù)量, safety_stock INT NOT NULL DEFAULT 10 COMMENT 安全庫(kù)存閾值, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 最后更新時(shí)間 ) ENGINEInnoDB COMMENT庫(kù)存表; -- 客戶表 CREATE TABLE customer ( customer_id INT AUTO_INCREMENT PRIMARY KEY COMMENT 客戶主鍵, customer_name VARCHAR(64) NOT NULL COMMENT 客戶姓名, phone VARCHAR(20) NOT NULL UNIQUE COMMENT 手機(jī)號(hào)唯一約束, address VARCHAR(255) NULL COMMENT 送貨地址, member_level TINYINT NOT NULL DEFAULT 0 COMMENT 會(huì)員等級(jí)0普通/1銀卡/2金卡 ) ENGINEInnoDB COMMENT客戶表; -- 訂單主表 CREATE TABLE order ( order_id INT AUTO_INCREMENT PRIMARY KEY COMMENT 訂單主鍵, customer_id INT NOT NULL COMMENT 下單客戶, order_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 下單時(shí)間, total_amount DECIMAL(10,2) NOT NULL DEFAULT 0 COMMENT 訂單總金額, status TINYINT NOT NULL DEFAULT 0 COMMENT 狀態(tài)0待付款/1已付款/2配送中/3已完成/4已取消, CONSTRAINT fk_order_customer FOREIGN KEY (customer_id) REFERENCES customer(customer_id) ) ENGINEInnoDB COMMENT訂單主表; -- 訂單明細(xì)表花材與訂單多對(duì)多的關(guān)聯(lián)表 CREATE TABLE order_item ( item_id INT AUTO_INCREMENT PRIMARY KEY COMMENT 明細(xì)主鍵, order_id INT NOT NULL COMMENT 所屬訂單, flower_id INT NOT NULL COMMENT 花材, quantity INT NOT NULL COMMENT 購(gòu)買數(shù)量, unit_price DECIMAL(10,2) NOT NULL COMMENT 成交單價(jià)下單時(shí)快照, CONSTRAINT fk_item_order FOREIGN KEY (order_id) REFERENCES order(order_id), CONSTRAINT fk_item_flower FOREIGN KEY (flower_id) REFERENCES flower(flower_id) ) ENGINEInnoDB COMMENT訂單明細(xì)表;幾個(gè)關(guān)鍵決策說(shuō)明order是 MySQL 保留字必須用反引號(hào)包起來(lái)。這是最經(jīng)典的坑報(bào)告里主動(dòng)提一句自己的處理方式反而加分。DECIMAL(10,2) 是貨幣字段的正確類型。用 FLOAT 或 DOUBLE 會(huì)導(dǎo)致精度漂移比如 19.9 變成 19.899999。member_level 用 TINYINT 而不是字符串普通/VIP是為了后續(xù)統(tǒng)計(jì)和擴(kuò)展展示層做映射即可。safety_stock 字段看起來(lái)不起眼但它是庫(kù)存不足預(yù)警功能的數(shù)據(jù)基礎(chǔ)屬于低成本的加分細(xì)節(jié)。3.2 外鍵與約束物理外鍵還是應(yīng)用層約束建表腳本里我全部使用物理外鍵。這里要提前說(shuō)明生產(chǎn)環(huán)境里很多團(tuán)隊(duì)刻意不用物理外鍵理由是并發(fā)寫(xiě)入時(shí)外鍵校驗(yàn)有額外開(kāi)銷分庫(kù)分表后外鍵無(wú)法跨庫(kù)存在。但課程設(shè)計(jì)面對(duì)的是單機(jī) MySQL、千行級(jí)數(shù)據(jù)量評(píng)審老師大概率直接看你的表結(jié)構(gòu)里有沒(méi)有外鍵用物理外鍵能直接體現(xiàn)你理解參照完整性。所以我建議課程設(shè)計(jì)一律用物理外鍵報(bào)告里寫(xiě)清楚你是知道兩種方案利弊后做的選擇。需要補(bǔ)的約束還有三類NOT NULL核心業(yè)務(wù)字段不允許空。比如 flower_name、phone。UNIQUEcustomer.phone 唯一避免同一個(gè)人重復(fù)建檔。這是很自然的業(yè)務(wù)約束。CHECKMySQL 8.0.16 之后 CHECK 約束才真正強(qiáng)制生效。給 status 字段加CHECK (status BETWEEN 0 AND 4)寫(xiě)法規(guī)范但如果你用的還是 8.0.16 之前的分支CHECK 會(huì)被解析但忽略需要自己在代碼層校驗(yàn)。3.3 索引設(shè)計(jì)訂單查詢慢的根源與復(fù)合索引取舍大部分課程設(shè)計(jì)只做主鍵索引演示查詢某個(gè)客戶半年的訂單時(shí)一卡一卡。我習(xí)慣至少加兩個(gè)索引-- 按客戶查訂單最頻繁的查詢路徑 ALTER TABLE order ADD INDEX idx_order_customer_time (customer_id, order_time DESC); -- 訂單明細(xì)按訂單查避免全表掃描 ALTER TABLE order_item ADD INDEX idx_item_order (order_id);索引的原理是讓數(shù)據(jù)庫(kù)通過(guò) B 樹(shù)定位數(shù)據(jù)而不是全表掃描。復(fù)合索引(customer_id, order_time)的語(yǔ)義先按客戶過(guò)濾、再按時(shí)間排序能同時(shí)服務(wù)某客戶訂單列表和某客戶最近 N 單兩類查詢。注意最左前綴原則如果只按 order_time 跨客戶查詢這個(gè)復(fù)合索引用不上但花店系統(tǒng)的查詢場(chǎng)景里這種需求很少。索引不是越多越好每多一個(gè)索引寫(xiě)入時(shí)就要多維護(hù)一棵 B 樹(shù)。課程設(shè)計(jì)的數(shù)據(jù)量體會(huì)不到寫(xiě)入開(kāi)銷但報(bào)告里寫(xiě)清楚為什么在這兩個(gè)字段建索引比堆五個(gè)索引更讓老師認(rèn)可。提示寫(xiě)完 DDL 后用SHOW INDEX FROM \order; 檢查索引是否建立成功索引名、字段順序、Cardinality 一眼看清。這一步 5 秒能避免低級(jí)錯(cuò)誤。4. 功能實(shí)現(xiàn)與增刪改查把需求翻譯成 SQL 和 JDBC 代碼4.1 基礎(chǔ) CRUD花材信息管理與參數(shù)綁定代碼層有兩種路線學(xué)校只要求跑通就用 JDBC偏工程化就用 MyBatis。JDBC 的優(yōu)點(diǎn)是依賴最少、每一步都可控適合課程設(shè)計(jì)答辯時(shí)被追問(wèn)底層原理。我用 JDBC 寫(xiě)一個(gè)花材新增的例子// 新增花材PreparedStatement 預(yù)編譯避免 SQL 注入 String url jdbc:mysql://localhost:3306/flower_shop?useUnicodetruecharacterEncodingutf8; String user root; String password your_password; String sql INSERT INTO flower (flower_name, category, purchase_price, sale_price, supplier) VALUES (?, ?, ?, ?, ?); try (Connection conn DriverManager.getConnection(url, user, password); PreparedStatement ps conn.prepareStatement(sql)) { ps.setString(1, 紅玫瑰); ps.setString(2, 鮮切花); ps.setBigDecimal(3, new BigDecimal(12.00)); ps.setBigDecimal(4, new BigDecimal(19.90)); ps.setString(5, 昆明花圃); int rows ps.executeUpdate(); System.out.println(影響行數(shù) rows); }邏輯說(shuō)明用 PreparedStatement 而不是字符串拼接 SQL防止花材名稱里出現(xiàn) or 11這類輸入把查詢條件掀翻。報(bào)告寫(xiě)一句通過(guò)預(yù)編譯規(guī)避 SQL 注入是明確的加分項(xiàng)。setBigDecimal 對(duì)應(yīng) DECIMAL 字段。用 setString 塞數(shù)值雖然能跑但字符串一旦含非數(shù)字字符就報(bào) Data truncation而且隱式轉(zhuǎn)換會(huì)掩蓋問(wèn)題。try-with-resources 自動(dòng)關(guān)閉連接和 Statement避免連接泄漏。這里多說(shuō)一句課程設(shè)計(jì)里連接可以直接 new但工程習(xí)慣是用連接池如 HikariCP 管理數(shù)據(jù)庫(kù)連接這一條能在報(bào)告里體現(xiàn)你了解生產(chǎn)實(shí)踐的連接管理方式。增刪改查的另外三個(gè)操作套路相同更新花材用UPDATE flower SET sale_price ? WHERE flower_id ?查詢花材用SELECT * FROM flower WHERE category ?刪除花材用DELETE FROM flower WHERE flower_id ?。注意刪除這里踩坑概率極高因?yàn)?flower 被 order_item 外鍵引用直接刪會(huì)被攔下具體解法見(jiàn)第 5 章。4.2 核心業(yè)務(wù)下單扣庫(kù)存與事務(wù)邊界下單是整個(gè)系統(tǒng)最核心的事務(wù)也是答辯時(shí)最可能被追問(wèn)的地方。它至少包含三個(gè)寫(xiě)操作插入訂單主表記錄、插入訂單明細(xì)、扣減庫(kù)存。這三個(gè)操作必須在一個(gè)事務(wù)里完成否則會(huì)出現(xiàn)訂單下了但庫(kù)存沒(méi)扣或庫(kù)存扣了訂單沒(méi)成的災(zāi)難。JDBC 里的寫(xiě)法Connection conn DriverManager.getConnection(url, user, password); conn.setAutoCommit(false); // 關(guān)閉自動(dòng)提交手動(dòng)管理事務(wù) try { // 1. 插入訂單主表拿到自增主鍵 String sqlOrder INSERT INTO order (customer_id, total_amount, status) VALUES (?, ?, 0); PreparedStatement psOrder conn.prepareStatement(sqlOrder, Statement.RETURN_GENERATED_KEYS); psOrder.setInt(1, customerId); psOrder.setBigDecimal(2, totalAmount); psOrder.executeUpdate(); ResultSet keys psOrder.getGeneratedKeys(); int orderId keys.next() ? keys.getInt(1) : 0; // 2. 批量插入訂單明細(xì) String sqlItem INSERT INTO order_item (order_id, flower_id, quantity, unit_price) VALUES (?, ?, ?, ?); try (PreparedStatement psItem conn.prepareStatement(sqlItem)) { for (CartItem item : cartItems) { psItem.setInt(1, orderId); psItem.setInt(2, item.getFlowerId()); psItem.setInt(3, item.getQuantity()); psItem.setBigDecimal(4, item.getUnitPrice()); psItem.addBatch(); } psItem.executeBatch(); } // 3. 扣減庫(kù)存只有庫(kù)存足夠時(shí)才允許更新成功 String sqlStock UPDATE inventory SET quantity quantity - ? WHERE flower_id ? AND quantity ?; try (PreparedStatement psStock conn.prepareStatement(sqlStock)) { psStock.setInt(1, item.getQuantity()); psStock.setInt(2, item.getFlowerId()); psStock.setInt(3, item.getQuantity()); int affected psStock.executeUpdate(); if (affected 0) { throw new RuntimeException(庫(kù)存不足事務(wù)回滾); } } conn.commit(); } catch (Exception e) { conn.rollback(); throw e; }這段代碼背后的三個(gè)知識(shí)點(diǎn)一定要能講清楚setAutoCommit(false) 是手動(dòng)事務(wù)的開(kāi)關(guān)。自動(dòng)提交模式下每條 SQL 獨(dú)立成事務(wù)中間一步失敗前面的已執(zhí)行操作不會(huì)撤銷。WHERE quantity ?是條件更新的樂(lè)觀鎖寫(xiě)法防止并發(fā)下把庫(kù)存扣成負(fù)數(shù)。即使兩個(gè)事務(wù)同時(shí)讀到庫(kù)存是 1InnoDB 的行鎖也會(huì)讓第二個(gè) UPDATE 等待第一條提交后 quantity 已變成 0條件失敗、affected 為 0直接回滾。getGeneratedKeys() 拿到的是自增主鍵插入明細(xì)必須依賴它。不取的話明細(xì)表外鍵就懸空了。關(guān)于事務(wù)隔離級(jí)別MySQL InnoDB 默認(rèn)是 REPEATABLE READ這個(gè)場(chǎng)景下夠用。但兩個(gè)并發(fā)事務(wù)同時(shí)扣減同一行庫(kù)存時(shí)除了超賣還會(huì)遇到數(shù)據(jù)庫(kù)死鎖的可能第 5 章講。4.3 統(tǒng)計(jì)報(bào)表GROUP BY 與 JOIN 的寫(xiě)法課程設(shè)計(jì)要求的功能模塊里統(tǒng)計(jì)報(bào)表是老師檢驗(yàn) SQL 功底的環(huán)節(jié)。寫(xiě)三組最有代表性的統(tǒng)計(jì)查詢-- 月度銷量按年月分組統(tǒng)計(jì)訂單數(shù)和營(yíng)收 SELECT DATE_FORMAT(order_time, %Y-%m) AS month, COUNT(*) AS order_count, SUM(total_amount) AS revenue FROM order WHERE status ! 4 -- 排除已取消訂單 GROUP BY DATE_FORMAT(order_time, %Y-%m) ORDER BY month DESC;-- 花材銷量排行關(guān)聯(lián)明細(xì)、花材、訂單三張表 SELECT f.flower_name, SUM(oi.quantity) AS sold_quantity, SUM(oi.quantity * oi.unit_price) AS sales_amount FROM order_item oi JOIN flower f ON oi.flower_id f.flower_id JOIN order o ON oi.order_id o.order_id WHERE o.status IN (1, 2, 3) -- 只統(tǒng)計(jì)有效訂單 GROUP BY f.flower_id, f.flower_name ORDER BY sold_quantity DESC LIMIT 10;-- 庫(kù)存預(yù)警低于安全庫(kù)存的花材 SELECT f.flower_name, i.quantity, i.safety_stock FROM inventory i JOIN flower f ON i.flower_id f.flower_id WHERE i.quantity i.safety_stock;邏輯說(shuō)明GROUP BY 的字段必須和 SELECT 里的非聚合字段完全一致。MySQL 8.0 默認(rèn)開(kāi)啟 ONLY_FULL_GROUP_BY不一致直接報(bào)錯(cuò)。COUNT(*) 統(tǒng)計(jì)行數(shù)SUM(oi.quantity) 統(tǒng)計(jì)數(shù)量。兩個(gè)指標(biāo)一起放老師能看出你理解訂單數(shù)和銷量的區(qū)別。第二個(gè)查詢用 INNER JOIN order 是因?yàn)?status 條件已經(jīng)過(guò)濾掉無(wú)效訂單LEFT JOIN 反而會(huì)把沒(méi)有匹配訂單的明細(xì)行意外保留語(yǔ)義不對(duì)。第三個(gè)查詢把 inventory 放在 FROM 后面第一張表是因?yàn)椴樵円詭?kù)存為主體花材表只是補(bǔ)充名稱。JOIN 順序?qū)Y(jié)果沒(méi)影響但對(duì)閱讀者理解查詢意圖有幫助。5. 數(shù)據(jù)庫(kù)實(shí)操避坑外鍵刪不掉、并發(fā)超賣、中文亂碼等 5 個(gè)高頻故障5.1 坑一刪除花材報(bào)外鍵約束失敗現(xiàn)象驗(yàn)收前想刪掉一條測(cè)試花材DELETE FROM flower WHERE flower_id 10直接報(bào)錯(cuò)Cannot delete or update a parent row: a foreign key constraint fails。原因order_item 表里存在引用這條花材的明細(xì)記錄。物理外鍵的默認(rèn)動(dòng)作是 RESTRICT子表有引用時(shí)禁止刪除父表記錄。解決按業(yè)務(wù)語(yǔ)義決定處理方式?;ú谋挥唵我眠^(guò)說(shuō)明是歷史數(shù)據(jù)不能物理刪。常見(jiàn)做法是改成軟刪除給 flower 表加is_deleted TINYINT DEFAULT 0字段刪除時(shí)執(zhí)行UPDATE flower SET is_deleted 1 WHERE flower_id 10;查詢時(shí)統(tǒng)一加WHERE is_deleted 0條件。這樣既保住訂單明細(xì)的歷史引用也能回應(yīng)老師追問(wèn)你刪了花訂單里怎么還能查到名字。物理刪除只在確認(rèn)子表無(wú)引用時(shí)使用比如清測(cè)試數(shù)據(jù)。5.2 坑二并發(fā)下單導(dǎo)致庫(kù)存變負(fù)現(xiàn)象開(kāi)兩個(gè)終端同時(shí)搶最后一支紅玫瑰結(jié)算后庫(kù)存變成 -1。原因事務(wù)隔離級(jí)別是可重復(fù)讀兩個(gè)事務(wù)先各自 SELECT 庫(kù)存都讀到 1再各自執(zhí)行 UPDATE如果代碼里沒(méi)有條件更新后提交的事務(wù)會(huì)基于舊值把庫(kù)存覆蓋成 0 或 -1。解決4.2 里的UPDATE inventory SET quantity quantity - ? WHERE flower_id ? AND quantity ?就是正確的樂(lè)觀鎖寫(xiě)法。WHERE 條件讓扣減操作只有在庫(kù)存足夠時(shí)才成功affected 為 0 時(shí)直接回滾并提示庫(kù)存不足。如果寫(xiě)入后發(fā)現(xiàn)還是負(fù)庫(kù)存排查兩個(gè)點(diǎn)一是表引擎是不是 MyISAM它沒(méi)有行鎖并發(fā)寫(xiě)是串行但不是事務(wù)安全的二是確認(rèn) UPDATE 在同一個(gè)事務(wù)里執(zhí)行自動(dòng)提交模式下兩個(gè)客戶端之間的鎖窗口會(huì)失控。這是熱詞數(shù)據(jù)庫(kù)并發(fā)鎖和數(shù)據(jù)庫(kù)死鎖最典型的課程設(shè)計(jì)場(chǎng)景。5.3 坑三插入中文花名變亂碼現(xiàn)象INSERT 執(zhí)行成功SELECT 出來(lái)是??或?··一類字符。原因三層字符集不一致。最常見(jiàn)的是建庫(kù)用了 utf8mb4但連接層 character_set_client 是 latin1或者 JDBC URL 沒(méi)指定編碼。解決先把 JDBC URL 加上參數(shù)jdbc:mysql://localhost:3306/flower_shop?useUnicodetruecharacterEncodingutf8然后按順序排查SHOW VARIABLES LIKE character%;看 character_set_server、character_set_database、character_set_client 三列哪一層不是 utf8mb4 就調(diào)整對(duì)應(yīng)配置。注意 MySQL 8.x 默認(rèn) character_set_server 是 utf8mb4但某些部署模板會(huì)把它改成 latin1改完記得重啟服務(wù)。這個(gè)坑還有一個(gè)變種數(shù)據(jù)庫(kù)是 utf8mb4但終端窗口本身是 GBK顯示亂碼但庫(kù)里的數(shù)據(jù)沒(méi)壞用SELECT HEX(flower_name) FROM flower;看字節(jié)就能分辨。5.4 坑四同一個(gè)報(bào)表 SQL自己機(jī)器快、演示機(jī)器慢現(xiàn)象本地執(zhí)行 20ms換到演示環(huán)境要 2 秒。原因大概率是演示庫(kù)沒(méi)建索引或者統(tǒng)計(jì) SQL 里 JOIN 了數(shù)據(jù)量很大的表。最典型的是對(duì) order_item 這類增長(zhǎng)很快的表做全表 COUNT 或無(wú)條件 SUM。解決用 EXPLAIN 看執(zhí)行計(jì)劃EXPLAIN SELECT f.flower_name, SUM(oi.quantity) FROM order_item oi JOIN flower f ON oi.flower_id f.flower_id JOIN order o ON oi.order_id o.order_id WHERE o.status IN (1, 2, 3) GROUP BY f.flower_id;重點(diǎn)看 type 列出現(xiàn) ALL 說(shuō)明全表掃描需要加索引出現(xiàn) range、ref、const 說(shuō)明索引生效。再看 key 列確認(rèn)實(shí)際用了哪個(gè)索引以及 possible_keys 里是不是有更合適的候選索引沒(méi)被使用。這條 SQL 里 oi.order_id 和 oi.flower_id 各自需要索引order 表的 status 字段如果有統(tǒng)計(jì)需求也可以加索引但選擇性低收益有限。提示EXPLAIN 看到的是優(yōu)化器的估算不是實(shí)際執(zhí)行時(shí)間。判斷一個(gè) SQL 是否真的慢要在關(guān)閉查詢緩存的情況下連續(xù)執(zhí)行三次取平均值。5.5 坑五本地能跑、驗(yàn)收現(xiàn)場(chǎng)起不來(lái)現(xiàn)象在自己電腦上一切正常到驗(yàn)收的電腦上啟動(dòng)項(xiàng)目報(bào)驅(qū)動(dòng)類找不到或數(shù)據(jù)庫(kù)連接被拒。原因JDK 版本不一致、MySQL 版本不一致、連接配置寫(xiě)死了 localhost 或本機(jī) IP。解決按清單排查JDBC 驅(qū)動(dòng) jar 是否在 classpath 里mysql-connector-java 的版本要和 MySQL 服務(wù)端版本匹配。連接 URL 里的 IP 是否可訪問(wèn)。演示環(huán)境一般同機(jī)部署優(yōu)先用 localhost。MySQL 8.x 默認(rèn)認(rèn)證插件是 caching_sha2_password老版本驅(qū)動(dòng)會(huì)報(bào)Public Key Retrieval is not allowed在 URL 后加allowPublicKeyRetrievaltrue解決。這個(gè)坑必須提前一天和老師確認(rèn)演示環(huán)境。我吃過(guò)一次虧驗(yàn)收現(xiàn)場(chǎng)發(fā)現(xiàn)預(yù)裝的 MySQL 是 5.7驅(qū)動(dòng)是 5.x連接 8.x 的庫(kù)直接報(bào)錯(cuò)當(dāng)場(chǎng)換驅(qū)動(dòng) jar 才救回來(lái)。課程設(shè)計(jì)不像生產(chǎn)系統(tǒng)有運(yùn)維兜底環(huán)境差異全靠自己提前踩。6. 驗(yàn)收演示與進(jìn)階加分一個(gè)能講完閉環(huán)的演示腳本6.1 演示數(shù)據(jù)準(zhǔn)備不用花1、花2、花3這種無(wú)意義數(shù)據(jù)。把演示數(shù)據(jù)集組織成有故事線的場(chǎng)景11 朵紅玫瑰對(duì)應(yīng)生日花束、白菊花對(duì)應(yīng)祭掃場(chǎng)景、綠蘿對(duì)應(yīng)喬遷新居。數(shù)據(jù)要覆蓋不同月份訂單、已取消訂單、低于安全庫(kù)存的花材、不同會(huì)員等級(jí)的客戶。演示到庫(kù)存預(yù)警時(shí)直接執(zhí)行 4.3 的第三個(gè)查詢就有結(jié)果而不是現(xiàn)場(chǎng)插數(shù)。6.2 盲區(qū)測(cè)試給自己提 5 個(gè)刁鉆問(wèn)題答辯前我習(xí)慣把自己當(dāng)用戶問(wèn)幾輪客戶下單后想改數(shù)量系統(tǒng)支持嗎如果不支持是設(shè)計(jì)邊界還是能力缺失要在設(shè)計(jì)說(shuō)明里寫(xiě)清楚?;ú慕裉焓蹆r(jià) 19.9明天漲到 25歷史訂單金額變不變答案是不變因?yàn)?order_item 存了 unit_price 快照這是當(dāng)初設(shè)計(jì)的伏筆??蛻舯粍h除了他名下的訂單還在嗎物理外鍵 RESTRICT 會(huì)讓刪除直接失敗你要提前想好是軟刪除還是先刪訂單。統(tǒng)計(jì)報(bào)表里某個(gè)月沒(méi)有訂單顯示 0 嗎GROUP BY 不會(huì)生成空月份行需要 LEFT JOIN 一個(gè)月份補(bǔ)位表。數(shù)據(jù)庫(kù)突然斷電會(huì)發(fā)生什么InnoDB 的 redo log 能恢復(fù)已提交事務(wù)未提交事務(wù)回滾你要能說(shuō)出這兩句。6.3 加分技巧視圖、存儲(chǔ)過(guò)程與備份收尾階段性價(jià)比最高的三個(gè)加分動(dòng)作視圖把訂單、客戶、明細(xì)三張表的 JOIN 封裝成一張?zhí)摂M表CREATE VIEW v_order_detail AS SELECT o.order_id, c.customer_name, f.flower_name, oi.quantity, oi.unit_price, o.status FROM order o JOIN customer c ON o.customer_id c.customer_id JOIN order_item oi ON o.order_id oi.order_id JOIN flower f ON oi.flower_id f.flower_id;演示時(shí)一句SELECT * FROM v_order_detail WHERE customer_name 王女士就能查完閉環(huán)報(bào)告里寫(xiě)通過(guò)視圖簡(jiǎn)化查詢是直接可見(jiàn)的數(shù)據(jù)庫(kù)設(shè)計(jì)能力。備份策略用 mysqldump 一行命令mysqldump -u root -p flower_shop /backup/flower_shop_$(date %F).sql寫(xiě)進(jìn)報(bào)告的意義是展示你考慮過(guò)數(shù)據(jù)安全哪怕課程設(shè)計(jì)不強(qiáng)制。我的習(xí)慣是交報(bào)告前先把整個(gè) flower_shop 庫(kù)用這條命令備份一份到 U 盤(pán)防止驗(yàn)收前手滑 drop 了庫(kù)沒(méi)法還原。做課程設(shè)計(jì)這么多年翻車最多的一次就是演示前不小心執(zhí)行了條件漏寫(xiě)的 DELETE沒(méi)有后悔藥。備份命令兩秒那份心安值得。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久草热8精品视频在线观看| 激情综合网激情五月俺也去| 甈你aaaaa| 九九色网专区| 天天操综合网| 乱码操操| 永久精品| 五月香六月婷| 九九视频这里是精品五月| 99热热热99精品婷婷| 国产欧洲欧洲精品久久| 五月天激情中文字幕| 久久艹网| 九月丁香婷婷网| 99热国产精品| 日本高清久| aaa丁香五月天| www99xxxx五月丁| 噜噜久| a网站免费观看| 五月婷婷六月奇米网丁香| 婷婷五月天丁香激情| 色色无码| 性爱久久| 五月天婷婷小说| 激情五月影院| 特级片神马电影| 六月婷婷激情| 曰曰久久| 亚洲AV网站| 久久一操| 国产超碰人人| 秋霞日本免费毛片A片| 性无码专区无码| 婷婷久热| www色色com| 5月婷婷五月天| 五月丁香六月婷婷啪啪综合| 久久婷婷五月综合97色一本| 久思思久视频| 可以直接看的av网站| 韩日在线熟女| 少妇人妻凹凸视频| 丁香五月天中文字幕| 五月婷综合网| 亚洲图色五月天| 色色色热| 丁香五月激动深爱欧美| 大香蕉 婷婷| AV九九| 91婷婷丁香五月| 丁香五月冃欧美| 精a品a视a频| 庭庭久久内射| 激情综合网丁香| 91超碰在线观看| 嫩草AV久久伊人妇女超级A| 亚洲精品视频在线播放| 99热8| 精品人妻伦一二三区久| 国产高潮A片羞羞视频涩涩| 久久精品人妻| 久久狠狠干| 色色色.COM| 天天干天天叉| 成人av在线网址| 99精品在线观看视频| 丁香五月天婷婷中文字幕| 婷婷开心五月| 亚洲热热视频| 久月久在线视频| 激情六月五月婷婷综合网| 色五月天激情| 五月天色婷婷视频| 婷婷激情丁五月| 欧洲免费视频色| 六月婷婷开心| 久久久97| 92久久久| 婷婷激情五月天网站| 久久婷婷网| 日本片日本片祼观看网站在线看中文版网页在线看| 91操色| 色五月婷婷五月久久| 色之综合网| 色五狠狠| 99免费视频| 五月婷婷伊| 久99热在线观看| 99热99ai| 伊久久婷婷| 99精品偷自拍| www.婷婷五月天.com| 久久老码第一| 99日本黄站| 国产精品a无线| 看全色黄大色大片| 俺去也在线www色官网| 色色激情五月| 五月久久| 激情综合色五月丁香六月亚洲| 五月丁香激情综合啪啪| 婷婷黄色网| 亚洲激情av| 日日艹思思热| 超碰国产在线播放| 五月婷婷综合激情| 99热这里只有精彩| 色五月天堂| 五月婷六月丁| 亚洲午夜成人av电影网| 丁香五月瑟瑟| 天天射影院| 色综合视频| 狠狠操.COM| 天天做夜夜爽| 高清无码.com| 久久激情网| 91嫩草久久| www.狠狠干com| 狠狠色综合网| 做爰丰满少妇1313| 另类视频在线| 无码操B| 91疯狂操操操操| 欧洲高清免费久久| 好叼操在线观看| 99综合视频一体| 色色色综合| 依人大香蕉在钱1| 丁香五月六月久久综合 | 91久久婷婷人人澡草| 五月丁香色综合| 另类亚洲2| 亚洲人人操| 婷婷五月丁香国产| 婷婷激情六月| 中文字幕人妻在线| 天天操人人干| 啄木鸟黑丝一区二区| 九九热这里只有精品6| 91色噜噜狠狠狠狠色综合| 激情视频综合| 99热这里有精力| 天天综合网站| 26UUU精品一区二区c〇m| 91日本在线观看| 欧美黑人大吊| 国产毛片精品一区二区色欲黄A片| 丝袜人妻| 国产乱妇无乱码大黄AA片| 激情五月天视频| 91丨九色丨白浆秘| 久久这里在精品视频| 色色热| 久久久www| 久9视频| 另类小说五月天| 这里只有精品1| 色五月xxx| 天天爽天天| 欧美又粗又大一区二区在线观看| 中文字幕乱码亚洲精品一区| 99re8这里只有精品99re8热视频| 中文字幕,综合,91| 大香蕉久艹| 九九av| 五月综合视频| 六月婷婷在线| 色婷婷六月性| 亚洲成人日韩无码精品| www99在线观看视频| 人伦30P| 深爱激情六月天| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 综合五月亭亭9| 五月婷婷 激情按摩| 色五月丁香五月天| www,五月天com| 四川BBB搡BBB搡多人乱亂| 色婷婷a三区麻| 色停停影院五月天| 五月丁香狠狠爱| 1995年关宝慧版蜘蛛女| 中文字幕,综合,91| 欧美婷婷综合| 五月色亚洲| 久久久婷婷婷| 超碰在线观看caop| 国产亚洲精品久久久久久郑州| 99热精品免费在线观看| 99婷婷| 色色色色欧美| 五月天伊人网| 激情开心五月天| 色亚洲无码| 欧美在线ee日韩| 丁香五月六月婷婷综合| 欧洲亚洲激情五月天在线| 五月天婷婷色色网| 岛国午夜视频| 丁香五月婷婷免费视频| 激情九月婷婷| 日本色色网| 婷婷六月激情在线视频| 99er免费在线观看| 成人视频一区| 久久综合伊人77777蜜臀| 色五月综合网| 能看的av网站| 99热青青草| anquye五月| 色欲色天天香综合| 9999热在线免费观看| 9精品久久999| 丁香五月影院| 99国产精品久久久久久久久久久| 色婷五月天| 99热亚洲精品| 噜噜噜噜噜色| 五月婷深深爱激情网| 天天肏视频| 第1影院之五月婷婷| 免费看欧美成人A片无码| 99ri视频在线播放| 五月天婷婷成人网| 色色国产| 色综合伊人网| 中文AV在线观看| 五月天激情视频网站| 天天狠狠插| 亚州精品色情无码A片| 色婷婷丁香社综合| 色www.con| 国内精品免费一区二区2009| 懂色av粉嫩AV蜜臀AV| 强壮公让我夜夜高潮A片视频| 久久五月激情综合| 九九九热精品| 九九激情网| 热久国产| www.国产色| 另类图片激情五月| 九九黄色网| 丁香五月区| 激情婷婷五月在线合集| 欧美成综合在线观看| 丁香五月婷婷免费视频| 婷婷丁香久久网| www.色五月| 农村熟妇高潮精品A片| 亚洲激情另类| 俺也去五月婷婷丁| 玖玖婷婷五月天毛片| WWW嗯嗯啊啊啊啊| 丁香88AV五月婷婷| 激情婷婷视频在线| 婷婷五月激情欧美| 激情五月天婷婷久久久久久久久久久 | www.日日夜夜.com| 99热| av大香蕉| 99婷婷精品推荐在线视频| 国产SUV精品一区二区883| 丰满人妻妇伦又伦精品国产| 日逼影音先锋AV男人资源站| 色综合色色色色| 色偷偷色婷婷| 亚洲天堂亚洲色色色| 天天AV导航网| 亚洲热视频在线| 激情五月天婷婷| 婷婷射图| 激情综合色五月丁香| www,99视频| 国产44页| 婷婷六月爽| 99视频精品全部免费观看| 婷婷丁香色情| 香蕉综合网| 情欲禁地| 99热这里有精品首页10| 色五月婷婷成人视频| 亚洲精品久久久久久久久久吃药| 婷婷九月亚洲| 97人碰人操| 九九99香蕉在线视频播放| www超碰| 亚州激情在线视频| 婷婷99中文字幕| 丁香婷婷网| 激情精品久久| 五月久久婷婷丁香| 91在线97视频| 天堂婷婷五月在线| 91色在线 | 日韩| 99久久网站| 五月天sesese| 天天做天天爱天天日| 激情婷婷网| 五月婷婷六月天| 欧美精品在线观看| 青草青草久热这里只有精品| 91人人爽久久涩噜噜噜| 天天操天天插| 日本精品99网站| 五月天成人在线| 91色噜噜狠狠狠狠色综合| 亚洲V国产V欧美V久久久久久| 久久99精品久久久| 丁香五月冃欧美| 五月婷婷丁香| 午夜婷婷久久| 五月停停激情网| 五月香婷婷| 伊人激情网| 韩国情人在线电视剧免费观看高清版全集 | www.91热久久| 99精品这里只有免费视频| 欧美激情综合五月色丁香| 激情小说婷婷| 色综合久久888| 天天爱夜夜爽| 亚洲天堂色| 99热只有精品在线播放| 丁香激情网| av一区免费看| 丁香五月综合在线观看| 精品欧美性爱超级爽| 99ri在线| 亚洲欧美综合7777色婷婷| 99久热在线精品99re6热| 色五月婷婷五月丁香五月激情五月视频 | 亚洲AV永久无码影院黑人| 五月天婷婷六月激情网| 久热无码| 五月丁香久久| 99久热这里只有精品| 超碰在线观看成人视| 五月婷婷我| 亚洲爆乳无码精品AAA片蜜桃| 97操操操| 99精品性爱| 亚洲天堂爱爱| 丁香色五月天| 欧美五月丁香在线| 国产精品久久久久久久久久久久| 这里只有精品99视频| 色九九综合| 国产操B视频| 五月欧美丁香在线观看| 大香蕉欧美在线| 狠狠干天天日| 影视av久久久噜噜噜噜噜三级| 能看的av网站| 丁香五月激情啪| 久久婷婷五月天| 国洲夜色亚热在线久久| 婷丁香五月天| 五月丁香| 熟女人妻视频| 国产婷婷五月天| 五月停亭久久电影| 综合性爱网| 97超碰在线免费观看| 玖玖婷婷五月| 天天日,天天射,天天插| 乱精品一区字幕二区| 五月丁综合在线观看| 精品人妻午夜一区二区三区四区| 亚洲成人va| 婷婷久久图片| 九九这里有精品| 免费的日逼视频| 亚洲欧洲中文日韩久久AV乱码| 亚洲天堂AAA| 伊人九九68| 婷婷五月草| 99九九在线观看免费| 丁香五月激情婷婷| 欧美va亚洲va在线播放| 99日精品视频| 嫩草AV久久伊人妇女超级A| 色婷婷丁香五月丁香| 激情五月丁香五月色| 欧美成人精品老美女噜噜噜| 色久影院| 亚洲精品久久久无码| 99热九九在线| 久久婷婷五月丁香网| 天天色色天天| 九九热这里只有精品31| 秋霞A V毛片| 色情五月综合婷婷| 五月六月伦理| 日 日干 日日做| 欧美,日韩成人在线| 99视频精品全部观看10| www久久99com| 色婷婷在线影院| 九九激情| 99精品视频推荐| 色婷婷香蕉| 五月丁香婷色| 激情四射婷婷| 欧美一级毛卡片无码| 内射综合网| 色五月丁香激情| 日韩无码系列| 强辱丰满人妻HD中文字幕| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 色五月综合| 香蕉久操| 久久久久9| 噜噜噜噜噜色| 丁香五月大片| 操人91| 人碰人人人玩91| 婷婷丁香五月亚洲| 丁香五月天电影| 天天噜天天爱| 激情综合亚洲| 丁香五月性爱| 超碰猛烈的性猛交| 色色日本| 婷婷丁香五月天中文字幕| 九月激情网| 97操男人的天堂| 亚洲精品无码一区二区| 午夜婷婷丁香| 久色88| 日韩一级一片内射视频4K| 97久久草草超级碰碰碰| 99热网址| 色99色| 综合色综合| 婷婷第六色| 成人AV中文字幕| www.99.色| 精品亚洲国产成AV人片传媒| 热99在线| 99免费| 成人在线综合| 狠狠色噜噜狠狠| 国产婷婷五月色情综合| 五月丁香六月婷婷综合| 五月婷婷无码专区| 欧美婷婷五月天综合| 依人大香蕉| 久久久久9| 中文字幕激情综合| 丁香五月开心亚洲| 六月丁香停| 久久婷婷东京热| 久久久久久9热不雅视频| 亚洲国产精品二二三三区 | 97操男人的天堂| 丁香婷婷五月综合欧美另类| 精品热九九| 天天干天天爽天天爽| 久久在线视频只有这里有精品| 丁香九月婷| 狠狠99| 99网址在线看| 欧美日本VA| 97人人操人人干| 色婷婷九月| 狠狠操狠狠爱| 色婷婷欧美在线| 激情精品久久| AV国产有码| 丁香五月天BBw| 婷婷涩五月天综合| 色久丁香五| 六月婷婷色综合| 超碰国产在线观看| 久久婷婷五月天| 天天肏夜夜肏| 春色激情| 色婷婷啪啪啪啪啪啪| 亚洲成人高清在线| 桃色激情婷婷伊人网| 狠狠操天天操天天操| 色高清无码视频| 五月天激情.com| 五月激情婷婷丁香天堂| 亚洲av网站在线观看| 亚洲热热视频| 免費观看aV在线网址| 狠狠狠狠青草| AA片在线观看视频在线播放| 97伦乱| 婷婷色在线播放| 97碰久久| 色5月婷婷| 这里只有精品1| 婷婷久久综合| 中文字幕高清av| 人妻激情在线| 精品成人无码A片观看香草视频| 激情五月婷在线精品| 天天插天天射| 伊人在线视频| 五月婷婷天堂| 激情 婷婷 丁香五月天| 午夜激情婷婷| 韩国不卡AC视频| 欧美日本黄色| 天天天天天天天操| 欧美婷婷五月丁香| 五月天婷婷激情四射综合| 超碰九九热| 丁香五月婷婷亚洲综合精品在线| 伊人色综合久久久| 操逼五月婷婷| 天天摸.天天mo| 五月激激激情综合网| 五月天另类小说| 色五月丁香91| 婷婷激情五月天天天开心| 久色欧美| 国产全是老熟女太爽了| 97在线刺激| 婷婷六月丁综合| 六月丁香花婷婷| 无码任你操| 亚洲va综合va国产va中文| 婷婷五月天丁香久久| 天天摸天天舔在线视频| 99热成人| 就爱日五月天| 婷婷五月天少妇| 亚洲第一成人无码A片| 99干免费视频| 久久婷婷五月天综合| 婷婷丁香五月激情中文字幕版| 久色大| 日本婷婷激情四射中文字幕在线观看| 色就是色婷婷五月亚洲激情| 色婷婷狠| av激情在线| 久8色色| 99久久久久| 九九热欧美| 五月丁香影视| 在线综合91| 深爱五月天 开心网| 这里只有精品视频免费在线观看| 97在线视频人妻九色| 日本久久爱| 久久AV无码精品人妻系列试探| 国产激情综合| PORNY九色9l自拍视频成人| 丁香伊人五月色婷婷五十路 | 亚洲色色图片| 婷婷色综合| 综合久| 五月婷啪| 99操逼| 日韩 中文 欧美| 激情综合网激情五月天| 久99热在线观看| 日本色婷婷| 亚洲五月天色色| 精品五月天| 日本网站久久| 日本丁香五月| 九九精品综合| 天天精品视频免费观看| 亚洲人成网亚洲欧洲无码久久| 五月丁香婷婷色色色| 天天综合 99久久婷婷| 五月天色丁香| 中文精品在| 97色婷婷| 国产欧美婷婷五月| 人妻有码乱操| 欧美色97| 五月丁香久久| 中文字幕无码人妻少妇免费视频| 色情五月天A片| 色婷婷久久9.com| 丁香五月婷婷影院| 91免费看片| 五月婷婷综合网| 亚洲综合激| 午夜天堂一区人妻| 精品人妻一区二区三区四区不卡在| 91综合色噜噜| 91碰碰| 婷丁香五月天| 久婷自拍视频| 日韩人妻无码一区二区| 丁香五月天久久| 亚亚州久久高潮| 国产精品人妻在线网址| 可以看的AV| 五月婷婷免费| 六月丁香停| 一本色道久久综合狠狠躁小说| 婷婷五月丁香高清无码| 婷婷激情97| 五月色婷婷影院| 丁香五月天激情网址| 激情婷婷丁香| 97影院一级片| 婷婷五月天日日日干干干| 亚州色综合| 99热这里只有精品22| 丁香六月天婷婷色| 玖玖爱综合网| 婷婷碰碰| 色色性爱视频| 五月天激情www| 国产欧美日韩性爱| 久久久久九九九九视屏小说88| 日本天堂免费99| 五月丁香拍拍激情综合| 激情视频91| 国产精产国品一二三在观看| 人人综合久| 色五月成人网| 丁香五月亚洲激情婷婷射| 九九色网专区| 天天操人人干| www.婷婷六月天| 五月综合在线婷婷图片| 天天综合网91| 国产性爱色| 丁香六月色情| 婷婷久月| 五月天停婷基地| 精品国产乱码久久久久久免费| 久久色亭亭五月天| A久网| wuyuedingxiang99| 天天操无码| 97超碰在线观看免费| 婷婷久久综合久| 天堂久久婷婷| 婷婷六月丁香欧美视频在线| 情欲综合网| 久久久网站| 一起肏在线视频| 超91热| 裸体做A爰片毛片A片免费| 超碰在线精品| 中文字幕AV网址| 久久精品视频在这里有| 99日这里只有精品| 婷婷丁香五月六月激情| 狠狠操天天操综合| 欧美va精品va老师va| www、丁香五月天| 碰碰碰97免费精彩视频| 色五月综合网站| 中字幕视频在线永久在线观看免费 | 五月久久| 狠狠色婷婷丁香五月| 91919191919久久成人视频| 久久五月丁香| 九色婷婷| 激情小说五月天| 天天操婷婷| 中文字幕在线日亚州9| 日本色99| 只有精品视频在线观看| 亚洲啪啪啪啪| 五月婷色| 5月婷婷视频网站综合| 色优久久| 色综合色婷婷色伊人| 99re最新地址视频| 侠女刀之记忆电影在线看免费| 婷婷五月天堂网| 这里有精品99| 久久五月网| 亚洲色域网| 五月丁香婷婷伊人| 激情五月天电影| 99视频精品在线| 婷婷五月天色播| 欧美色频| 色婷婷狠狠| 性做久久久久久久免费看| 男妓跪趴把舌头伸进我的嘴巴| 中文幕无线码中文字蜜桃| 极品人妻VIDEOSSS人妻| www,99视频| 五月天久草| 全高清无码视頻| 91超级碰碰碰| 九九九午夜影院成人| 狠狠狠五月婷婷六月丁香| 这里只有精品视频一区| 丁香婷婷六月| 五月综合激情网| 色五月丁香com| 国产黄色av| 超碰在线视屏| 精品无码人妻一区| 亚洲色频| 狠狠爱综合| 日本韩国视频在线观看社区免费的9| 五月婷av| 丁香丁婷五月激情| 任你干线上免费视频有3吗| 久久久久久久久久久月丁| 亚洲欧美婷婷五月色综合| 女人天堂av| 丁香五月激情啪啪| 日本99视频| 91se精品国产| 日韩精品999| 亚洲人人干| 69久久99精品久久久久婷婷| 色色色综合| 99色免费| 五月婷婷成人w| 丁香五月社区| 欧美精品中文字幕亚洲专区| 五月天社区婷婷丁香社区| 五月丁香久久综合| 色婷婷五月在线| 亚洲五月婷| 伊人三级激情| 97色色色色色色色色色色色色色| 182TV大香蕉| 91无码一区人妻A片蜜| 五月 成人 婷婷| 激情五月com| 99久久综合网| 丁香五月婷婷影院| 欧美色六月婷婷| 久久久久激情| 五月天大香蕉视频| 深爱激情九九五月天| 在线观看av网站| 天堂二区| 丁香婷婷射| 9久久精品| 亚洲国产网站| 精品成人无码A片观看香草视频| 91精品久久久久久| www.com色播五月天| 99热只有国产在线精品| 播播网色播播| 激情五月综合网最新| 伊人玖玖综合| 五月婷婷花| 91五月天| 久久只有这里精品免费| 日本啪啪网| 久久机热探花| dingxiangtingtingliuyue| 国产肥白大熟妇BBBB视频| 亚洲婷婷91丁香| 欧美激情VA永久在线播放| 日本美女97在线视频| 五月丁香婷婷AV天堂| 色99视频| 大香蕉婷婷色| 玖玖综合色| 久99久精品| 五月天激情小说| 9 9 9色色| 中文字幕色色| 亚洲av电影在线| 特级片神马电影| 高清资源站日A美A欧亚…| 色色综合日韩| 国产精品一区在线观看你懂的| 伊人五月天综合网| 五月丁香啪啪网| 婷婷五月69| 色色色色网| 大香蕉婷婷| 婷婷五月天成人网| 激情四射五月天偷偷看婷婷| 尔尔AV一区| 99噜噜噜在线播放| 九九色热| 婷婷成人综合五月| 亚洲操女| 国产视频婷婷| 人人综合久| 超碰人人在线| 久久黄色免费视频| 久久性爱网| http://www.sd-xiangsu.com/| 99精品久| 九九 激情 网| 色色无码| 米奇激情婷婷| 婷婷九九色| 涩五月婷婷| 久久久99视频| 欧美日韩91| 色香五月天| 日韩AV在线免费| www.五月天婷婷| 97碰碰在线看视频免费| 日本丁香五月| 五月婷婷插一插| 丁香婷婷五月人体| www.色综合| 天天干狠狠操| 五月丁香花激情啪啪网| www.婷婷,com| 思思热在线视频观看精品| 久久五月天激情| 狠狠搞狠狠操| 丁香六月婷婷综合激情欧美| 一级AV片| 成人网站免费在线播放| ri电影在线| 丁香五月成人自拍| 超碰久热| 五月丁香另类网| 久青操| 伊人综合网站| 大婷婷色呦呦噜噜色呦呦噜噜| 99ri在线观看视频| 亚洲日韩成人三级av| 五月婷婷五月天| 亚洲 综合中文| 色约约视频一区二区三区四区五区| 欧美日本国产欧美日本韩国99| 五月天婷亚洲综合在线嫩草网| 中文字幕人妻一区二区| 大香蕉五月丁香| 亚洲精| 九月影院義母在线播放| www久久久久久久久久久久久久久久久| 婷婷五月天天爽| 91热er| 极品另类| 婷婷六月丁香五月图区| 五月婷婷激情网| 五月丁香欧美综合| 久久五月天合网| 狠狠色婷婷色| 人妻体体内射精一区二区| 五月综合视频| 欧美激情2025| 丁香婷婷六月婷婷六月婷婷六月婷婷 | www.婷婷五月天啪啪| 五月婷婷,狠狠操| caop视频| 天天日天天爽夜夜爽| 综合噜噜| 人人舔天天| 性韩日色婷婷五月天激情啪啪XXX| 久久99精品久| 国产又爽又猛又粗的视频A片| 久草视频一,二三四| 丁香五月婷婷综合网| 九九热这里有精品视频| 五月婷婷激情久久| 久久99jiu9| 99精品丁香五月| 五月丁香| 久久九九色| 久久久99免费视频| 老司机日日夜夜青草| 丁香色播五月天| 99热99在线| 日韩性视频| 久操97| 久久99jiu9| 色九九九综合| 99se丁香| 丁香五月激情图片婷婷| 久久久99精品免费观看| 亚洲综合九九| 久久五月天婷婷| 中美日韩成人在线| AA久久| 五月婷婷丁香| 久久色亭亭五月天| 久久婷婷成人综合色怡春院| 天天狠狠色综合| 久久久月丁香| 五月婷人妻| 激情欧美婷五月| 99热国产这里只有| 婷婷免费成人视频| 色日本丁香婷婷| 狠狠草婷婷| 伍月激情天| 五月激情开心婷婷| 极品人妻videosss人妻| 日 日干 日日做| 五月丁婷婷| 秋霞影音91人妻久久| 五月天婷婷丁香视频| 我爱宗和色| 丁香五月激情六月综合| 国产片色| 亚洲精品大片| 台湾无码A片一区二区| 超碰在线超碰| 99热在线精品观看| 丁香五月性| 无遮挡国产高潮视频免费观看| 国产AV一区二区三区日韩| 久久99热网| 大香蕉视频婷婷| 青青草Avb在线| 2016日日夜夜操| www.五月婷婷| 人人操Av| 狠色狠色综合久久| 一本色道久久综合狠狠躁小说| 欧美色频| 99热在线播放| 五月婷婷丁香91| 一级黄色操B| 丁香五月另类色婷婷麻豆| 成人天天爽| 丁香五月激情澎湃一区| 无人精品在线视频| 五月丁香成人网| 亚洲乱码日产精品BD| www.99精品日操伊人乱碰在线| 丁香婷婷五月人体| 九九热av| www激情网| 婷婷八月丁香激情综合| 五月天婷婷丁香| 91肏肏肏| 天天操中文字幕| 亚洲色情免费网| 日韩欧美一级大黄网站| 99视频久久| 婷婷五月欧美综合| 欧美人久久| 五月婷伊人| 久狠狠狠| 午夜少妇在线观看视频| 任你搞在线观看视频| www.色99| 婷婷激情丁香六月| 亚洲综合五月天婷婷| 天天日色情| 亚洲欧美婷婷五月色综合| 婷婷激情五月天亚洲综合| 这里有精品| 香蕉AV777XXX色综合一区| 人妖色AV色综合| 五月丁香六月婷婷,婷| 99这里只有精品|v| 91九九| 日韩AV在线免费观看| 丁香六月婷婷高清| 婷婷久久久久| 骚逼视频一区2区| 国产欧美日韩性爱| 直接看的AV| 八戒青柠影视剧在线观看| 亚洲午夜一区二区| 久久66精品| 久久99网| 99碰视频| 激情五月天婷婷视频| 激情五月六月婷婷| 日hao1区| 天天檫天天爽| 成人午夜无码视频| 婷婷五月综激情| 丁香五月六月婷婷殴美综合| 91操操| 另类A片| 五月天亭亭俺也| 色婷婷性爱网| 五月丁香久久网| 99久在线观看| 婷婷99丁香| 婷婷五月成人系列| 日韩一区二区A片免费观看| 九九精品网站| 人人干99| 99热加勒比| 久久免片| 九色综合五月天婷五月| 日本va欧美va精品发布视频| 亚洲天堂热| 国产脫衣舞一区二区三区| 亚洲激情五月天| 九九精品丁香花| 欧美综合五月丁香六月婷| 人妻AV在线| 色热久资源| 狠狠狠狠狠狠狠狠| 色婷婷网| 91综合国免费久入| 婷婷激情人妻| 天堂网啪啪| 婷婷五月天丁香成人社区| 婷婷五月天在线观看免费| 欧美婷婷色| 欧美va亚洲va在线播放| 久色精品| 伊人丁香花综合影院| 最近中文字幕大全免费版在线 | 久久精彩综合视频| 丁香六月婷婷| 欧美色色色色色色色色色色影视| 播播网色播播| 色五月xxx| 国精产品一区一区三区免费视频| 99亚洲综合| 疯狂做受XXXX高潮A片| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 婷婷五月丁香色综合| 九九综合网色全集| 色九月婷婷综合| 久久性爱视频| 国产成人综合网| 色婷婷成人影片| 婷婷丁香日韩五月| 天天插天天操| 久草九九| 91狠狠综合久久| 亭亭玉立国色天香| 国产精产国品一二三在观看| 激情婷婷人妻| httpwww色com日本| 色五月丁香网| 超碰在线9| 9久久精品| 五月 丁香 欧美| 五月丁香婷婷色播无码| www.五月丁香| 超碰AV在线| 午夜精品久久久久久久爽| 欧洲免费视频色| www91在线| 99热这里只有精品5| 六月丁香深深爱| 国产女人十八水真多1| 婷婷色操| 天天日天天狠狠操| 五月丁香六月停停停| 人人摸人人干| 亚洲婷婷丁香五月在线| 91碰免费视频| 天堂中文国产| 99久久黄色顶级视频| 婷婷9月天| 99九无网码| 色婷婷婷婷成人网| 超碰在线网站| 99性爱视频| 激情五月,激情综合网| 天堂色婷婷| 老师的粉嫩小又紧水又多A片视频| 激情五月婷婷色| 五月婷在线观看| 激情五月综合网丁| 久久五月网| 日日操日日射| 丁香五月影视| 99在线视频。| 五月婷丁香| 九九99一区| 婷婷激情五月吧| bukadeavzaixian| 精品久久99| 久婷五月| 五月四色婷婷| 五月伊人网| 久久涩视频| 天天玩夜夜操| 久久这里都是精品| 色婷婷成人影片| 天天久综合网永久入口17v | 色综合中文| 97人碰人操| 色婷婷激情| 噜噜狠狠色| 蜜臀九九九九| 综合五月婷婷| 色蜜婷婷| 丁香五月大香蕉在线99| 日日干天天爽| 五月丁香网站| 色色色色色色97| 无码地址| 大香线蕉伊人| 狼人伊人干| 少妇2做爰HD韩国电影| 综合色99| 九九色图| 久久99性爱| 99视频在线观看欧| 99婷婷五月天| 9久久久久久久久久久| 色综啪啪啪啪啪啪| aV直接看| 国产精产国品一二三在观看| 色丁香久久| 五月婷婷丁香五月婷婷丁香| 性色99| 狠狠999| 久久亚洲婷婷综合色五月| 97色色色| 亚洲操B视频| 91人人看| 久操香蕉| 日本人人超碰| 无码激情AAAAA片-区区| 激情五月影院| av狠狠操| 婷婷免费视频| 亚洲成人综合在线| 五月丁香狠狠爱| 吊色AV男人的天堂| 免费成人中文字幕| 天天日P天天射P| www.99.色| 九九99精品视品| 色婷婷综合久久| 久久五月天激情| 久久婷婷五月丁香蜜桃网| 国产欧美日韩综合精品一区二区| 99视频只有精品| 性爱综合网| 极品人妻VIDEOSSS人妻| 嫩草AV久久伊人妇女超级A| 五月丁香婷婷综合| 人妻少妇色综合| 婷婷久久大香蕉| 少妇性按摩无码中文A片| 国产人妻777人伦精品HD| 天天做天天爽| 国产成人精品一区二区三区视频 | 玖玖色资源站| 天天婷婷天天| 久久婷婷五月综合色播| 69婷婷丁香午夜| 只有久久精品免费| 日日夜夜小色哥| 亚洲操b| 久久综合影院| 免费黄色视频网址| 丁香六月激情综合| 69精品人人人人| 99色人| 青青草原伊人网| 色碰碰| 秋霞三级色戒| 操逼福利视频| 五月婷婷开心综合| 色欲午夜无码久久久久久张津瑜| 4399在线日本A片| 99re6久热只有精品6在线直播| 99爱在线视频| 九九精品9| www.9797国产| 久久只有精| 91大屁股| 免费亚洲婷婷五月| 五月天色色色| 搡BBBB搡BBB搡18 | 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 九九久久网| 99年操人人爽| 日本乱论99| 18av天堂| 日日肏夜夜干| 欧美日比视频| 日本乱子人伦在线视频| 综合网精品99| 天天肏在线观看| 色婷婷丁香五月丁香| 国产综合网在线| 激情五月六月婷婷| 五月激情四射网站| 97色色婷婷五月天| 激情小说五月天中文字幕| 夜夜夜夜夜骑撸| 九九热在线视频观看| 激情五月天天| 狠狠综合久久| 婷婷激情啪啪| 色五月首页| 人碰人人人玩91| 激情九月婷婷| 夜夜操激情| 激情五月天影院| 91主播在线| 婷婷五月69| 深爱综合网| 无码AV免费精品一区二区三区| 五月花免费视频| 国产亚洲精品人人| 欧美人人草| 99综合免费视频| 91xxxx九色| 五月激情婷婷六月丁香| 九九人人精品| 毛片九九九九九九九九18| 99热99色| 五月婷婷丁香网| 成人无码髙潮喷水A片| 婷婷丁香五月激情密臀av| 呦呦v线| 久综合色| 亚洲啪啪自拍| 亚洲五月婷婷在线| 猫咪伊人久久| www91色网站| 天干干夜夜操| 99视频精品| 狠狠情色| 色色 9| 国产在线aaa片一区二区99| 人妻久久婷婷| 激情综合五月婷婷六月丁香| 欧美交换配乱吟粗大25P| 色婷婷六月天| 夜夜撸夜夜骑| av首页在线| 丁香五月激情婷婷激情| 激情五月天丁香| 特级操b片| www.国产色| 五月停性愛| www天天干| 九九热超碰| 九九热a| 99久.| 91啪啪网| 久色五月丁香视频| 亚洲123区高清入口| 夜夜夜叫天天天做| 在线只有精品| 婷婷色在线视频| 亚洲婷婷免费| 五月婷婷综合天天操| 激情丁香五月婷| 大香蕉伊然在亚洲90| www夜夜操| 久久婷婷五月天懂色| 99爱精品视频| 午夜天天精品视频| 婷婷色五月天第7色| 99精品网| 激情深爱五月婷婷| 丁香六月婷婷久久综合| 99ri在线视频| 1024日韩| 五月婷婷激情综合在线| 色噜噜狠狠一区二区三区| 五月天婷婷色色| 99在线观看精品视频| 狠狠搞五月天| 婷婷99狠狠| 热99精品视频观看| 99精品国产在热久久| 久久狠狠色| 天天日色情| 婷婷五月天在线观看免费| 日本在线wwww| av在线激情|