{"id":245,"date":"2025-06-07T20:37:05","date_gmt":"2025-06-07T12:37:05","guid":{"rendered":"https:\/\/zd1269878.noblogs.org\/?p=245"},"modified":"2025-10-21T10:31:25","modified_gmt":"2025-10-21T02:31:25","slug":"%e6%95%b0%e6%8d%ae%e5%ba%93%e7%b3%bb%e7%bb%9f%e7%9f%a5%e8%af%86%e7%82%b9%e6%95%b4%e7%90%86%e4%b8%8e%e7%bb%83%e4%b9%a0","status":"publish","type":"post","link":"https:\/\/zd1269878.noblogs.org\/en-US\/post\/2025\/06\/07\/%e6%95%b0%e6%8d%ae%e5%ba%93%e7%b3%bb%e7%bb%9f%e7%9f%a5%e8%af%86%e7%82%b9%e6%95%b4%e7%90%86%e4%b8%8e%e7%bb%83%e4%b9%a0\/","title":{"rendered":"\u6570\u636e\u5e93\u7cfb\u7edf\u77e5\u8bc6\u70b9\u6574\u7406\u4e0e\u7ec3\u4e60"},"content":{"rendered":"\n<p><br><br><a>\u4e00\u3001\u77e5\u8bc6\u67b6\u6784<\/a><br>1. \u6570\u636e\u5e93\u57fa\u7840\u6982\u5ff5<br>\u00a0\u00a0 \u251c\u2500 \u6570\u636e\/\u6570\u636e\u5e93\/DBMS\/DBS\u5b9a\u4e49\u4e0e\u533a\u522b<br>\u00a0\u00a0 \u251c\u2500 \u6570\u636e\u72ec\u7acb\u6027\uff08\u7269\u7406\/\u903b\u8f91\uff09<br>\u00a0\u00a0 \u251c\u2500 \u6570\u636e\u5e93\u53d1\u5c55\u9636\u6bb5\uff08\u624b\u5de5\u7ba1\u7406\u2192\u6587\u4ef6\u7cfb\u7edf\u2192\u6570\u636e\u5e93\uff09<br>2. \u6570\u636e\u5e93\u4f53\u7cfb\u7ed3\u6784<br>\u00a0\u00a0 \u251c\u2500 \u4e09\u7ea7\u6a21\u5f0f\uff08\u5916\u6a21\u5f0f\/\u6a21\u5f0f\/\u5185\u6a21\u5f0f\uff09<br>\u00a0\u00a0 \u251c\u2500 \u4e24\u7ea7\u6620\u50cf\uff08\u5916\u6a21\u5f0f\/\u6a21\u5f0f\u3001\u6a21\u5f0f\/\u5185\u6a21\u5f0f\uff09<br>3. \u6570\u636e\u5e93\u8bbe\u8ba1\u4e0e\u5efa\u6a21<br>\u00a0\u00a0 \u251c\u2500 \u6982\u5ff5\u6a21\u578b\uff08ER\u56fe\u5143\u7d20\u4e0e\u7ed8\u5236\uff09<br>\u00a0\u00a0 \u251c\u2500 \u6570\u636e\u6a21\u578b\u5206\u7c7b\uff08\u5173\u7cfb\u6a21\u578b\u4e09\u8981\u7d20\uff09<br>\u00a0\u00a0 \u251c\u2500 \u51fd\u6570\u4f9d\u8d56\u4e0e\u8303\u5f0f\u7406\u8bba\uff081NF\/2NF\/3NF\/BCNF\uff09<br>4. SQL\u67e5\u8be2\u4e0e\u64cd\u4f5c<br>\u00a0\u00a0 \u251c\u2500 DDL\/DML\/DCL\/TCL\u57fa\u7840\u8bed\u6cd5<br>\u00a0\u00a0 \u251c\u2500 \u590d\u6742\u67e5\u8be2\uff08\u591a\u8868\u8fde\u63a5\u3001\u5b50\u67e5\u8be2\u3001\u805a\u5408\u51fd\u6570\uff09<br>\u00a0\u00a0 \u251c\u2500 \u5173\u7cfb\u4ee3\u6570\u8fd0\u7b97\uff08\u9009\u62e9\/\u6295\u5f71\/\u8fde\u63a5\/\u9664\u6cd5\uff09<br>5. \u4e8b\u52a1\u4e0e\u5e76\u53d1\u63a7\u5236<br>\u00a0\u00a0 \u251c\u2500 ACID\u7279\u6027\u4e0e\u9501\u673a\u5236<br>\u00a0\u00a0 \u251c\u2500 \u65e5\u5fd7\u4e0e\u6062\u590d\u7b56\u7565\uff08UNDO\/REDO\uff09<br>6. \u5176\u4ed6\u91cd\u70b9\u8003\u70b9<br>\u00a0\u00a0 \u251c\u2500 DFD\u6570\u636e\u6d41\u56fe<br>\u00a0\u00a0 \u251c\u2500 \u5b8c\u6574\u6027\u7ea6\u675f\uff08\u5b9e\u4f53\/\u53c2\u7167\/\u7528\u6237\u5b9a\u4e49\uff09<br><br><a>\u4e8c\u3001\u6838\u5fc3\u77e5\u8bc6\u70b9\u4e0e\u793a\u4f8b<\/a><br><a>1. <\/a>\u6570\u636e\u5e93\u57fa\u7840\u6982\u5ff5<br><strong>\u6570\u636e\u5b9a\u4e49<\/strong><br>\u6570\u636e\u662f\u63cf\u8ff0\u4e8b\u7269\u7684\u7b26\u53f7\u8bb0\u5f55\uff0c\u9700\u7ed3\u5408\u8bed\u4e49\u89e3\u91ca\u3002<br><em>\u793a\u4f8b<\/em>\uff1a\u5b66\u751f\u8bb0\u5f55S(\u5b66\u53f7, \u59d3\u540d, \u6027\u522b)\u4e2d\uff0c\u201c\u5b66\u53f7\u201d\u6807\u8bc6\u5b66\u751f\u552f\u4e00\u6027\uff0c\u201c\u6027\u522b\u201d\u9700\u9650\u5b9a\u4e3a\u7537\/\u5973\u3002<br><strong>\u6570\u636e\u5e93\u7279\u5f81<\/strong><br>\u6709\u7ec4\u7ec7\u3001\u53ef\u5171\u4eab\u3001\u4f4e\u5197\u4f59\u3001\u9ad8\u72ec\u7acb\u6027\u3002<br><em>\u5bf9\u6bd4<\/em>\uff1a\u4f20\u7edf\u6587\u4ef6\u7cfb\u7edf\u5b58\u5728\u5197\u4f59\uff08\u5982\u591a\u4e2a\u90e8\u95e8\u4fdd\u5b58\u540c\u4e00\u5458\u5de5\u4fe1\u606f\uff09\uff0c\u800c\u6570\u636e\u5e93\u96c6\u4e2d\u5b58\u50a8\u3002<br><a>2. <\/a>\u4e09\u7ea7\u6a21\u5f0f\u4e0e\u6570\u636e\u72ec\u7acb\u6027<br><strong>\u4e09\u7ea7\u6a21\u5f0f\u4f5c\u7528<\/strong><br>\u5c42\u7ea7<br>\u6a21\u5f0f\u7c7b\u578b<br>\u4f5c\u7528<br>\u7528\u6237\u7ea7<br>\u5916\u6a21\u5f0f<br>\u7528\u6237\u76f4\u63a5\u64cd\u4f5c\u7684\u6570\u636e\u89c6\u56fe\uff08\u5982\u89c6\u56fe\uff09<br>\u6982\u5ff5\u7ea7<br>\u6a21\u5f0f<br>\u6570\u636e\u5e93\u5168\u5c40\u903b\u8f91\u7ed3\u6784\uff08\u5982\u5173\u7cfb\u8868\uff09<br>\u7269\u7406\u7ea7<br>\u5185\u6a21\u5f0f<br>\u6570\u636e\u7269\u7406\u5b58\u50a8\u65b9\u5f0f\uff08\u5982\u7d22\u5f15\u3001\u5206\u533a\uff09<br><strong>\u4e24\u7ea7\u6620\u50cf\u4e0e\u72ec\u7acb\u6027<\/strong><br><strong>\u5916\u6a21\u5f0f\/\u6a21\u5f0f\u6620\u50cf<\/strong>\uff1a\u4fee\u6539\u6a21\u5f0f\u4e0d\u5f71\u54cd\u5916\u6a21\u5f0f\uff08\u903b\u8f91\u72ec\u7acb\u6027\uff09\u3002<br><em>\u793a\u4f8b<\/em>\uff1a\u5b66\u751f\u8868\u65b0\u589e\u5b57\u6bb5\u5e74\u9f84\uff0c\u539f\u6709\u89c6\u56fe\u4ecd\u53ef\u7528\u3002<br><strong>\u6a21\u5f0f\/\u5185\u6a21\u5f0f\u6620\u50cf<\/strong>\uff1a\u4fee\u6539\u5b58\u50a8\u7ed3\u6784\u4e0d\u5f71\u54cd\u6a21\u5f0f\uff08\u7269\u7406\u72ec\u7acb\u6027\uff09\u3002<br><em>\u793a\u4f8b<\/em>\uff1a\u5c06B+\u6811\u7d22\u5f15\u6539\u4e3a\u54c8\u5e0c\u7d22\u5f15\uff0c\u8868\u7ed3\u6784\u4e0d\u53d8\u3002<br><a>3. ER<\/a>\u56fe\u4e0e\u5173\u7cfb\u6a21\u578b\u8f6c\u6362<br><strong>ER\u56fe\u5143\u7d20<\/strong><br>\u5b9e\u4f53\uff08\u65b9\u5f62\uff09\uff1a\u5982\u5b66\u751f(\u5b66\u53f7, \u59d3\u540d)<br>\u8054\u7cfb\uff08\u83f1\u5f62\uff09\uff1a\u5b66\u751f\u4e0e\u8bfe\u7a0b\u7684M:N\u8054\u7cfb\u9009\u4fee<br><strong>\u8f6c\u6362\u89c4\u5219<\/strong><br>M:N\u8054\u7cfb\u9700\u8f6c\u6362\u4e3a\u72ec\u7acb\u8868\uff08\u5982\u9009\u4fee(\u5b66\u53f7, \u8bfe\u7a0b\u53f7, \u6210\u7ee9)\uff09<br>1:N\u8054\u7cfb\u5c06N\u7aef\u5b9e\u4f53\u7684\u4e3b\u7801\u52a0\u51651\u7aef\u5b9e\u4f53<br><a>4. <\/a>\u8303\u5f0f\u7406\u8bba\u4e0e\u51fd\u6570\u4f9d\u8d56<br><strong>\u51fd\u6570\u4f9d\u8d56\u7c7b\u578b<\/strong><br>\u7c7b\u578b<br>\u793a\u4f8b<br>\u8bf4\u660e<br>\u975e\u5e73\u51e1\u4f9d\u8d56<br>\u5b66\u53f7\u2192\u59d3\u540d<br>\u59d3\u540d\u4e0d\u5305\u542b\u5728\u5b66\u53f7\u4e2d<br>\u5e73\u51e1\u4f9d\u8d56<br>(\u5b66\u53f7, \u59d3\u540d)\u2192\u5b66\u53f7<br>\u53f3\u4fa7\u5c5e\u6027\u5728\u5de6\u4fa7\u96c6\u5408\u4e2d<br>\u5b8c\u5168\u4f9d\u8d56<br>(\u5b66\u53f7, \u8bfe\u7a0b\u53f7)\u2192\u6210\u7ee9<br>\u7f3a\u4e00\u4e0d\u53ef<br>\u90e8\u5206\u4f9d\u8d56<br>(\u5b66\u53f7, \u8bfe\u7a0b\u53f7)\u2192\u59d3\u540d\uff08\u5b66\u53f7\u53ef\u5355\u72ec\u51b3\u5b9a\u59d3\u540d\uff09<br>\u5bfc\u81f4\u5197\u4f59<br><strong>\u8303\u5f0f\u5224\u65ad\u4e0e\u5206\u89e3<\/strong><br><strong>1NF\u21922NF<\/strong>\uff1a\u6d88\u9664\u90e8\u5206\u4f9d\u8d56<br><em>\u793a\u4f8b<\/em>\uff1aR(\u5b66\u53f7, \u8bfe\u7a0b\u53f7, \u59d3\u540d)\u5206\u89e3\u4e3a\u5b66\u751f(\u5b66\u53f7, \u59d3\u540d)\u548c\u9009\u4fee(\u5b66\u53f7, \u8bfe\u7a0b\u53f7, \u6210\u7ee9)<br><strong>2NF\u21923NF<\/strong>\uff1a\u6d88\u9664\u4f20\u9012\u4f9d\u8d56<br><em>\u793a\u4f8b<\/em>\uff1aR(\u5b66\u53f7, \u73ed\u7ea7, \u73ed\u4e3b\u4efb)\u5206\u89e3\u4e3a\u73ed\u7ea7(\u73ed\u7ea7\u53f7, \u73ed\u4e3b\u4efb)\u548c\u5b66\u751f(\u5b66\u53f7, \u73ed\u7ea7\u53f7)<br><a>5. SQL<\/a>\u64cd\u4f5c\u4e0e\u590d\u6742\u67e5\u8be2<br><strong>DDL\u4e0e\u7ea6\u675f<\/strong><br>&#8212; \u521b\u5efa\u5458\u5de5\u8868\uff08\u542b\u9ed8\u8ba4\u503c\u3001\u5916\u952e\uff09<br>CREATE TABLE Employees(<br>\u00a0\u00a0\u00a0 empno CHAR(10) PRIMARY KEY,<br>\u00a0\u00a0\u00a0 empname VARCHAR2(20) NOT NULL,<br>\u00a0\u00a0\u00a0 sex CHAR(2) DEFAULT '\u7537',<br>\u00a0\u00a0\u00a0 dno CHAR(3),<br>\u00a0\u00a0\u00a0 FOREIGN KEY (dno) REFERENCES Dept(dno)<br>);<br><strong>\u590d\u6742\u67e5\u8be2\u793a\u4f8b<\/strong><br>&#8212; \u67e5\u8be2\u6bcf\u4e2a\u7b2c\u4e8c\u7ea7\u673a\u6784\u7684\u5458\u5de5\u6570\uff08\u673a\u6784\u540d\u79f0\uff0c\u5458\u5de5\u6570\uff09<br>SELECT d.dname AS \u673a\u6784\u540d\u79f0, COUNT(e.empno) AS \u5458\u5de5\u6570<br>FROM Dept d<br>JOIN Employees e ON d.dno = e.dno<br>WHERE d.dparent IS NOT NULL\u00a0 &#8212; \u7b2c\u4e8c\u7ea7\u673a\u6784<br>GROUP BY d.dname;<br><a>6. <\/a>\u4e8b\u52a1\u4e0e\u5e76\u53d1\u63a7\u5236<br><strong>ACID\u7279\u6027<\/strong><br><strong>\u539f\u5b50\u6027<\/strong>\uff1a\u4e8b\u52a1\u8981\u4e48\u5168\u505a\uff0c\u8981\u4e48\u5168\u4e0d\u505a\uff08\u5982\u8f6c\u8d26\u64cd\u4f5c\uff09\u3002<br><strong>\u9694\u79bb\u6027<\/strong>\uff1a\u901a\u8fc7\u9501\u673a\u5236\u907f\u514d\u810f\u8bfb\uff08\u5982SELECT &#8230; FOR UPDATE\uff09\u3002<br><strong>\u65e5\u5fd7\u4e0e\u6062\u590d<\/strong><br><strong>UNDO<\/strong>\uff1a\u56de\u6eda\u672a\u63d0\u4ea4\u4e8b\u52a1\uff08\u5982\u7cfb\u7edf\u5d29\u6e83\u65f6\uff09\u3002<br><strong>REDO<\/strong>\uff1a\u91cd\u505a\u5df2\u63d0\u4ea4\u4e8b\u52a1\uff08\u5982\u65ad\u7535\u540e\u6062\u590d\uff09\u3002<br><br><a>\u4e09\u3001\u7ec3\u4e60\u9898\u4e0e\u7b54\u6848<\/a><br><a>\u9898\u76ee1<\/a>\uff1a\u8303\u5f0f\u5224\u65ad\u4e0e\u5206\u89e3<br><strong>\u8981\u6c42<\/strong>\uff1a<br>\u5173\u7cfb\u6a21\u5f0fR(\u961f\u5458\u7f16\u53f7, \u6bd4\u8d5b\u573a\u6b21, \u8fdb\u7403\u6570, \u7403\u961f\u540d, \u961f\u957f\u540d)\uff0c\u6bcf\u4e2a\u961f\u5458\u4ec5\u5c5e\u4e00\u4e2a\u7403\u961f\uff0c\u6bcf\u961f\u53ea\u6709\u4e00\u4e2a\u961f\u957f\u3002<br>\u5199\u51fa\u51fd\u6570\u4f9d\u8d56<br>\u786e\u5b9a\u5019\u9009\u7801<br>\u5224\u65ad\u6700\u9ad8\u8303\u5f0f\u7ea7\u522b<br><strong>\u7b54\u6848<\/strong>\uff1a<br>\u51fd\u6570\u4f9d\u8d56\uff1a<br>\u961f\u5458\u7f16\u53f7\u2192\u7403\u961f\u540d<br>\u7403\u961f\u540d\u2192\u961f\u957f\u540d<br>(\u961f\u5458\u7f16\u53f7, \u6bd4\u8d5b\u573a\u6b21)\u2192\u8fdb\u7403\u6570<br>\u5019\u9009\u7801\uff1a(\u961f\u5458\u7f16\u53f7, \u6bd4\u8d5b\u573a\u6b21)<br>\u6700\u9ad8\u8303\u5f0f\uff1a2NF\uff08\u5b58\u5728\u4f20\u9012\u4f9d\u8d56\u961f\u5458\u7f16\u53f7\u2192\u7403\u961f\u540d\u2192\u961f\u957f\u540d\uff09<br><strong>\u7c7b\u4f3c\u9898\u76ee<\/strong>\uff1a<br>\u5173\u7cfb\u6a21\u5f0fR(S#, C#, G, T#)\uff08S#: \u5b66\u53f7, C#: \u8bfe\u7a0b\u53f7, G: \u6210\u7ee9, T#: \u6559\u5e08\u53f7\uff09\uff0c\u82e5S# \u2192 T#\uff0c\u5224\u65ad\u8303\u5f0f\u7ea7\u522b\u3002<br><strong>\u7b54\u6848<\/strong>\uff1a2NF\uff08\u5b58\u5728\u4f20\u9012\u4f9d\u8d56\uff0cS# \u2192 T#\u4f46\u975e\u4e3b\u5c5e\u6027\u4f9d\u8d56\u4e3b\u7801\uff09\u3002<br><br><a>\u9898\u76ee2<\/a>\uff1aER\u56fe\u8f6c\u6362<br><strong>\u8981\u6c42<\/strong>\uff1a<br>\u5546\u4e1a\u96c6\u56e2\u6570\u636e\u5e93\u5305\u542b\u5546\u5e97\u3001\u5546\u54c1\u3001\u804c\u5de5\u5b9e\u4f53\uff0c\u4ee5\u53ca\u9500\u552e\uff08M:N\uff09\u548c\u8058\u7528\uff081:N\uff09\u8054\u7cfb\u3002<br>\u7ed8\u5236ER\u56fe<br>\u8f6c\u6362\u4e3a\u5173\u7cfb\u6a21\u5f0f\u5e76\u6807\u51fa\u4e3b\u7801<br><strong>\u7b54\u6848<\/strong>\uff1a<br>ER\u56fe\u5143\u7d20\uff1a<br>\u5b9e\u4f53\uff1a\u5546\u5e97\uff08\u5546\u5e97\u7f16\u53f7, \u5546\u5e97\u540d, \u5730\u5740\uff09<br>\u5546\u54c1\uff08\u5546\u54c1\u53f7, \u5546\u54c1\u540d, \u89c4\u683c, \u5355\u4ef7\uff09<br>\u804c\u5de5\uff08\u804c\u5de5\u7f16\u53f7, \u59d3\u540d, \u6027\u522b, \u4e1a\u7ee9\uff09<br>\u8054\u7cfb\uff1a\u9500\u552e\uff08\u6708\u9500\u552e\u91cf\uff09\u3001\u8058\u7528\uff08\u8058\u671f, \u5de5\u8d44\uff09<br>\u5173\u7cfb\u6a21\u5f0f\uff1a<br>\u5546\u5e97(\u5546\u5e97\u7f16\u53f7, \u5546\u5e97\u540d, \u5730\u5740)<br>\u5546\u54c1(\u5546\u54c1\u53f7, \u5546\u54c1\u540d, \u89c4\u683c, \u5355\u4ef7)<br>\u9500\u552e(\u5546\u5e97\u7f16\u53f7, \u5546\u54c1\u53f7, \u6708\u9500\u552e\u91cf) \u4e3b\u7801\uff1a(\u5546\u5e97\u7f16\u53f7, \u5546\u54c1\u53f7)<br>\u804c\u5de5(\u804c\u5de5\u7f16\u53f7, \u59d3\u540d, \u6027\u522b, \u4e1a\u7ee9, \u5546\u5e97\u7f16\u53f7, \u8058\u671f, \u5de5\u8d44) \u4e3b\u7801\uff1a\u804c\u5de5\u7f16\u53f7<br><strong>\u7c7b\u4f3c\u9898\u76ee<\/strong>\uff1a<br>\u516c\u4ea4\u516c\u53f8\u6570\u636e\u5e93\u5305\u542b\u5458\u5de5\u8868\u548c\u7ec4\u7ec7\u673a\u6784\u8868\uff0c\u7ed8\u5236ER\u56fe\u5e76\u8f6c\u6362\u4e3a\u5173\u7cfb\u6a21\u5f0f\u3002<br><strong>\u7b54\u6848<\/strong>\uff1a<br>\u5458\u5de5\u8868(Employees): empno, empname, age, sex, dno<br>\u7ec4\u7ec7\u673a\u6784\u8868(Dept): dno, dname, dleader, dparent<br>\u5173\u7cfb\uff1a\u5458\u5de5\u5c5e\u4e8e\u673a\u6784\uff08\u5916\u952eEmployees.dno \u2192 Dept.dno\uff09<br><br><a>\u9898\u76ee<\/a>3\uff1aSQL\u67e5\u8be2\u4e0e\u5173\u7cfb\u4ee3\u6570<br><strong>\u8981\u6c42<\/strong>\uff1a<br>\u516c\u4ea4\u516c\u53f8\u6570\u636e\u5e93\u4e2d\uff0c\u5b8c\u6210\u4ee5\u4e0b\u64cd\u4f5c\uff1a<br>\u7edf\u8ba1\u6bcf\u4e2a\u7b2c\u4e8c\u7ea7\u673a\u6784\u7684\u5458\u5de5\u6570\uff08\u673a\u6784\u540d\u79f0, \u5458\u5de5\u6570\uff09<br>\u67e5\u8be2\u5e74\u9f84\u5927\u4e8e35\u5c81\u7684\u7537\u804c\u5de5\u7684\u4e2a\u4eba\u4fe1\u606f\uff08\u5173\u7cfb\u4ee3\u6570\u8868\u8fbe\u5f0f\uff09<br><strong>\u7b54\u6848<\/strong>\uff1a<br>SQL\u67e5\u8be2\uff1a<br>SELECT d.dname AS \u673a\u6784\u540d\u79f0, COUNT(e.empno) AS \u5458\u5de5\u6570<br>FROM Dept d<br>JOIN Employees e ON d.dno = e.dno<br>WHERE d.dparent IS NOT NULL\u00a0 &#8212; \u7b2c\u4e8c\u7ea7\u673a\u6784<br>GROUP BY d.dname;<br>\u5173\u7cfb\u4ee3\u6570\uff1a<br>\u03c3(age &gt; 35 \u2227 sex = '\u7537')(Employees)<br><strong>\u7c7b\u4f3c\u9898\u76ee<\/strong>\uff1a<br>\u67e5\u8be2\u201c\u674e\u654f\u201d\u6240\u5728\u673a\u6784\u7684\u540d\u79f0\uff08\u5173\u7cfb\u4ee3\u6570\uff09\u3002<br><strong>\u7b54\u6848<\/strong>\uff1a<br>\u03c0(dname)(\u03c3(empname = '\u674e\u654f')(Employees \u22c8 Dept))<br><br><a>\u9898\u76ee4<\/a>\uff1a\u4e8b\u52a1\u4e0e\u5e76\u53d1\u95ee\u9898<br><strong>\u8981\u6c42<\/strong>\uff1a<br>\u89e3\u91ca\u810f\u8bfb\u3001\u4e0d\u53ef\u91cd\u590d\u8bfb\u3001\u5e7b\u8bfb\u7684\u533a\u522b\uff0c\u5e76\u8bf4\u660e\u5982\u4f55\u901a\u8fc7\u5c01\u9501\u534f\u8bae\u907f\u514d\u8fd9\u4e9b\u95ee\u9898\u3002<br><strong>\u7b54\u6848<\/strong>\uff1a<br>\u95ee\u9898<br>\u63cf\u8ff0<br>\u89e3\u51b3\u65b9\u6848<br>\u810f\u8bfb<br>\u8bfb\u53d6\u672a\u63d0\u4ea4\u7684\u65e0\u6548\u6570\u636e<br>\u4e09\u7ea7\u5c01\u9501\u534f\u8bae\uff08\u5199\u9501+\u8bfb\u9501\uff09<br>\u4e0d\u53ef\u91cd\u590d\u8bfb<br>\u540c\u4e00\u67e5\u8be2\u8fd4\u56de\u4e0d\u540c\u7ed3\u679c<br>\u4e8b\u52a1\u63d0\u4ea4\u540e\u91ca\u653e\u9501<br>\u5e7b\u8bfb<br>\u540c\u4e00\u67e5\u8be2\u8fd4\u56de\u4e0d\u540c\u884c\u6570<br>\u8303\u56f4\u9501<br><strong>\u7c7b\u4f3c\u9898\u76ee<\/strong>\uff1a<br>\u5982\u4f55\u901a\u8fc7\u65e5\u5fd7\u6587\u4ef6\u5b9e\u73b0UNDO\u548cREDO\u64cd\u4f5c\uff1f<br><strong>\u7b54\u6848<\/strong>\uff1a<br><strong>UNDO<\/strong>\uff1a\u56de\u6eda\u672a\u63d0\u4ea4\u4e8b\u52a1\uff08\u5982\u7cfb\u7edf\u5d29\u6e83\u65f6\uff09\u3002<br><strong>REDO<\/strong>\uff1a\u91cd\u505a\u5df2\u63d0\u4ea4\u4e8b\u52a1\uff08\u5982\u65ad\u7535\u540e\u6062\u590d\uff09\u3002<br><br><a>\u56db\u3001\u9ad8\u9891\u8003\u70b9\u603b\u7ed3<\/a><br><a>1. <\/a>\u540d\u8bcd\u89e3\u91ca\uff08\u5fc5\u8003\uff09<br><strong>\u6570\u636e\u5e93<\/strong>\uff1a\u957f\u671f\u5b58\u50a8\u3001\u6709\u7ec4\u7ec7\u3001\u53ef\u5171\u4eab\u7684\u5927\u91cf\u6570\u636e\u96c6\u5408\u3002<br><strong>BCNF<\/strong>\uff1a\u6240\u6709\u51b3\u5b9a\u56e0\u7d20\u662f\u5019\u9009\u7801\u7684\u8303\u5f0f\u3002<br><a>2. <\/a>\u7b80\u7b54\u9898\uff08\u4f8b\u9898\uff09<br><strong>\u4e09\u7ea7\u6a21\u5f0f\u4e0e\u4e24\u7ea7\u6620\u50cf\u7684\u4f5c\u7528<\/strong>\uff1a<br>\u5916\u6a21\u5f0f\/\u6a21\u5f0f\u6620\u50cf \u2192 \u903b\u8f91\u72ec\u7acb\u6027<br>\u6a21\u5f0f\/\u5185\u6a21\u5f0f\u6620\u50cf \u2192 \u7269\u7406\u72ec\u7acb\u6027<br><a>3. <\/a>\u5e94\u7528\u9898\uff08\u4f8b\u9898\uff09<br><strong>ER\u56fe\u7ed8\u5236<\/strong>\uff1a\u5b66\u751f\u9009\u8bfe\u7cfb\u7edf\uff08\u5b66\u751f\u3001\u8bfe\u7a0b\u3001\u9009\u4fee\u8054\u7cfb\uff09<br><strong>\u8303\u5f0f\u5206\u89e3<\/strong>\uff1a\u5c06R(S#, C#, G, T#)\u5206\u89e3\u4e3a3NF<br><a>4. <\/a>\u8ba1\u7b97\u9898\uff08\u4f8b\u9898\uff09<br><strong>\u5019\u9009\u7801\u63a8\u5bfc<\/strong>\uff1a\u7ed9\u5b9a\u51fd\u6570\u4f9d\u8d56\u96c6\uff0c\u6c42\u6700\u5c0f\u5c5e\u6027\u96c6<br><br><a>\u4e94\u3001\u590d\u4e60\u7b56\u7565<\/a><br><strong>SQL\u5f3a\u5316<\/strong>\uff1a\u6bcf\u65e5\u7ec3\u4e60\u590d\u6742\u67e5\u8be2\uff08\u591a\u8868\u8fde\u63a5+GROUP BY+HAVING\uff09\u3002<br><strong>\u8303\u5f0f\u8bad\u7ec3<\/strong>\uff1a\u901a\u8fc7\u6848\u4f8b\u5224\u65ad\u8303\u5f0f\u7ea7\u522b\u5e76\u8fdb\u884c\u89c4\u8303\u5316\u5206\u89e3\u3002<br><strong>ER\u56fe\u5b9e\u6218<\/strong>\uff1a\u9488\u5bf9\u201c\u5b66\u751f\u9009\u8bfe\u201d\u201c\u56fe\u4e66\u7ba1\u7406\u201d\u7b49\u573a\u666f\u7ed8\u5236ER\u56fe\u3002<br><strong>\u771f\u9898\u6a21\u62df<\/strong>\uff1a\u9650\u65f6\u5b8c\u6210\u5386\u5e74\u8003\u8bd5\u9898\uff0c\u67e5\u6f0f\u8865\u7f3a\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u77e5\u8bc6\u67b6\u67841. \u6570\u636e\u5e93\u57fa\u7840\u6982\u5ff5\u00a0\u00a0 \u251c\u2500 \u6570\u636e\/\u6570\u636e\u5e93\/DBMS\/DBS\u5b9a\u4e49\u4e0e\u533a\u522b\u00a0\u00a0 \u251c\u2500 \u6570\u636e\u72ec\u7acb\u6027\uff08\u7269\u7406\/\u903b\u8f91\uff09\u00a0\u00a0 \u251c\u2500 \u6570\u636e\u5e93\u53d1\u5c55\u9636\u6bb5\uff08\u624b\u5de5\u7ba1\u7406\u2192\u6587\u4ef6\u7cfb\u7edf\u2192\u6570\u636e\u5e93\uff092. \u6570\u636e\u5e93\u4f53\u7cfb\u7ed3\u6784\u00a0\u00a0 \u251c\u2500 \u4e09\u7ea7\u6a21\u5f0f\uff08\u5916\u6a21\u5f0f\/\u6a21\u5f0f\/\u5185\u6a21\u5f0f\uff09\u00a0\u00a0 \u251c\u2500 \u4e24\u7ea7\u6620\u50cf\uff08\u5916\u6a21\u5f0f\/\u6a21\u5f0f\u3001\u6a21\u5f0f\/\u5185\u6a21\u5f0f\uff093. \u6570\u636e\u5e93\u8bbe\u8ba1\u4e0e\u5efa\u6a21\u00a0\u00a0 \u251c\u2500 \u6982\u5ff5\u6a21\u578b\uff08ER\u56fe\u5143\u7d20\u4e0e\u7ed8\u5236\uff09\u00a0\u00a0 \u251c\u2500 \u6570\u636e\u6a21\u578b\u5206\u7c7b\uff08\u5173\u7cfb\u6a21\u578b\u4e09\u8981\u7d20\uff09\u00a0\u00a0 \u251c\u2500 \u51fd\u6570\u4f9d\u8d56\u4e0e\u8303\u5f0f\u7406\u8bba\uff081NF\/2NF\/3NF\/BCNF\uff094. SQL\u67e5\u8be2\u4e0e\u64cd\u4f5c\u00a0\u00a0 \u251c\u2500 DDL\/DML\/DCL\/TCL\u57fa\u7840\u8bed\u6cd5\u00a0\u00a0 \u251c\u2500 \u590d\u6742\u67e5\u8be2\uff08\u591a\u8868\u8fde\u63a5\u3001\u5b50\u67e5\u8be2\u3001\u805a\u5408\u51fd\u6570\uff09\u00a0\u00a0 \u251c\u2500 \u5173\u7cfb\u4ee3\u6570\u8fd0\u7b97\uff08\u9009\u62e9\/\u6295\u5f71\/\u8fde\u63a5\/\u9664\u6cd5\uff095. \u4e8b\u52a1\u4e0e\u5e76\u53d1\u63a7\u5236\u00a0\u00a0 \u251c\u2500 ACID\u7279\u6027\u4e0e\u9501\u673a\u5236\u00a0\u00a0 \u251c\u2500 \u65e5\u5fd7\u4e0e\u6062\u590d\u7b56\u7565\uff08UNDO\/REDO\uff096. \u5176\u4ed6\u91cd\u70b9\u8003\u70b9\u00a0\u00a0 \u251c\u2500 DFD\u6570\u636e\u6d41\u56fe\u00a0\u00a0 \u251c\u2500 \u5b8c\u6574\u6027\u7ea6\u675f\uff08\u5b9e\u4f53\/\u53c2\u7167\/\u7528\u6237\u5b9a\u4e49\uff09 \u4e8c\u3001\u6838\u5fc3\u77e5\u8bc6\u70b9\u4e0e\u793a\u4f8b1. \u6570\u636e\u5e93\u57fa\u7840\u6982\u5ff5\u6570\u636e\u5b9a\u4e49\u6570\u636e\u662f\u63cf\u8ff0\u4e8b\u7269\u7684\u7b26\u53f7\u8bb0\u5f55\uff0c\u9700\u7ed3\u5408\u8bed\u4e49\u89e3\u91ca\u3002\u793a\u4f8b\uff1a\u5b66\u751f\u8bb0\u5f55S(\u5b66\u53f7, \u59d3\u540d, \u6027\u522b)\u4e2d\uff0c\u201c\u5b66\u53f7\u201d\u6807\u8bc6\u5b66\u751f\u552f\u4e00\u6027\uff0c\u201c\u6027\u522b\u201d\u9700\u9650\u5b9a\u4e3a\u7537\/\u5973\u3002\u6570\u636e\u5e93\u7279\u5f81\u6709\u7ec4\u7ec7\u3001\u53ef\u5171\u4eab\u3001\u4f4e\u5197\u4f59\u3001\u9ad8\u72ec\u7acb\u6027\u3002\u5bf9\u6bd4\uff1a\u4f20\u7edf\u6587\u4ef6\u7cfb\u7edf\u5b58\u5728\u5197\u4f59\uff08\u5982\u591a\u4e2a\u90e8\u95e8\u4fdd\u5b58\u540c\u4e00\u5458\u5de5\u4fe1\u606f\uff09\uff0c\u800c\u6570\u636e\u5e93\u96c6\u4e2d\u5b58\u50a8\u30022. \u4e09\u7ea7\u6a21\u5f0f\u4e0e\u6570\u636e\u72ec\u7acb\u6027\u4e09\u7ea7\u6a21\u5f0f\u4f5c\u7528\u5c42\u7ea7\u6a21\u5f0f\u7c7b\u578b\u4f5c\u7528\u7528\u6237\u7ea7\u5916\u6a21\u5f0f\u7528\u6237\u76f4\u63a5\u64cd\u4f5c\u7684\u6570\u636e\u89c6\u56fe\uff08\u5982\u89c6\u56fe\uff09\u6982\u5ff5\u7ea7\u6a21\u5f0f\u6570\u636e\u5e93\u5168\u5c40\u903b\u8f91\u7ed3\u6784\uff08\u5982\u5173\u7cfb\u8868\uff09\u7269\u7406\u7ea7\u5185\u6a21\u5f0f\u6570\u636e\u7269\u7406\u5b58\u50a8\u65b9\u5f0f\uff08\u5982\u7d22\u5f15\u3001\u5206\u533a\uff09\u4e24\u7ea7\u6620\u50cf\u4e0e\u72ec\u7acb\u6027\u5916\u6a21\u5f0f\/\u6a21\u5f0f\u6620\u50cf\uff1a\u4fee\u6539\u6a21\u5f0f\u4e0d\u5f71\u54cd\u5916\u6a21\u5f0f\uff08\u903b\u8f91\u72ec\u7acb\u6027\uff09\u3002\u793a\u4f8b\uff1a\u5b66\u751f\u8868\u65b0\u589e\u5b57\u6bb5\u5e74\u9f84\uff0c\u539f\u6709\u89c6\u56fe\u4ecd\u53ef\u7528\u3002\u6a21\u5f0f\/\u5185\u6a21\u5f0f\u6620\u50cf\uff1a\u4fee\u6539\u5b58\u50a8\u7ed3\u6784\u4e0d\u5f71\u54cd\u6a21\u5f0f\uff08\u7269\u7406\u72ec\u7acb\u6027\uff09\u3002\u793a\u4f8b\uff1a\u5c06B+\u6811\u7d22\u5f15\u6539\u4e3a\u54c8\u5e0c\u7d22\u5f15\uff0c\u8868\u7ed3\u6784\u4e0d\u53d8\u30023. ER\u56fe\u4e0e\u5173\u7cfb\u6a21\u578b\u8f6c\u6362ER\u56fe\u5143\u7d20\u5b9e\u4f53\uff08\u65b9\u5f62\uff09\uff1a\u5982\u5b66\u751f(\u5b66\u53f7, \u59d3\u540d)\u8054\u7cfb\uff08\u83f1\u5f62\uff09\uff1a\u5b66\u751f\u4e0e\u8bfe\u7a0b\u7684M:N\u8054\u7cfb\u9009\u4fee\u8f6c\u6362\u89c4\u5219M:N\u8054\u7cfb\u9700\u8f6c\u6362\u4e3a\u72ec\u7acb\u8868\uff08\u5982\u9009\u4fee(\u5b66\u53f7, \u8bfe\u7a0b\u53f7, \u6210\u7ee9)\uff091:N\u8054\u7cfb\u5c06N\u7aef\u5b9e\u4f53\u7684\u4e3b\u7801\u52a0\u51651\u7aef\u5b9e\u4f534. \u8303\u5f0f\u7406\u8bba\u4e0e\u51fd\u6570\u4f9d\u8d56\u51fd\u6570\u4f9d\u8d56\u7c7b\u578b\u7c7b\u578b\u793a\u4f8b\u8bf4\u660e\u975e\u5e73\u51e1\u4f9d\u8d56\u5b66\u53f7\u2192\u59d3\u540d\u59d3\u540d\u4e0d\u5305\u542b\u5728\u5b66\u53f7\u4e2d\u5e73\u51e1\u4f9d\u8d56(\u5b66\u53f7, \u59d3\u540d)\u2192\u5b66\u53f7\u53f3\u4fa7\u5c5e\u6027\u5728\u5de6\u4fa7\u96c6\u5408\u4e2d\u5b8c\u5168\u4f9d\u8d56(\u5b66\u53f7, \u8bfe\u7a0b\u53f7)\u2192\u6210\u7ee9\u7f3a\u4e00\u4e0d\u53ef\u90e8\u5206\u4f9d\u8d56(\u5b66\u53f7, \u8bfe\u7a0b\u53f7)\u2192\u59d3\u540d\uff08\u5b66\u53f7\u53ef\u5355\u72ec\u51b3\u5b9a\u59d3\u540d\uff09\u5bfc\u81f4\u5197\u4f59\u8303\u5f0f\u5224\u65ad\u4e0e\u5206\u89e31NF\u21922NF\uff1a\u6d88\u9664\u90e8\u5206\u4f9d\u8d56\u793a\u4f8b\uff1aR(\u5b66\u53f7, \u8bfe\u7a0b\u53f7, \u59d3\u540d)\u5206\u89e3\u4e3a\u5b66\u751f(\u5b66\u53f7, \u59d3\u540d)\u548c\u9009\u4fee(\u5b66\u53f7, \u8bfe\u7a0b\u53f7, \u6210\u7ee9)2NF\u21923NF\uff1a\u6d88\u9664\u4f20\u9012\u4f9d\u8d56\u793a\u4f8b\uff1aR(\u5b66\u53f7, &hellip; <a href=\"https:\/\/zd1269878.noblogs.org\/en-US\/post\/2025\/06\/07\/%e6%95%b0%e6%8d%ae%e5%ba%93%e7%b3%bb%e7%bb%9f%e7%9f%a5%e8%af%86%e7%82%b9%e6%95%b4%e7%90%86%e4%b8%8e%e7%bb%83%e4%b9%a0\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">\u6570\u636e\u5e93\u7cfb\u7edf\u77e5\u8bc6\u70b9\u6574\u7406\u4e0e\u7ec3\u4e60<\/span><\/a><\/p>\n","protected":false},"author":20615,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_locale":"en_US","_original_post":"https:\/\/zd1269878.noblogs.org\/?p=245","activitypub_content_warning":null,"activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[1,15],"tags":[16],"class_list":["post-245","post","type-post","status-publish","format-standard","hentry","category-general","category-15","tag-16","en-US"],"_links":{"self":[{"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/users\/20615"}],"replies":[{"embeddable":true,"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/comments?post=245"}],"version-history":[{"count":1,"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/posts\/245\/revisions"}],"predecessor-version":[{"id":246,"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/posts\/245\/revisions\/246"}],"wp:attachment":[{"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/media?parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/categories?post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zd1269878.noblogs.org\/wp-json\/wp\/v2\/tags?post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}