English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مثال على استخدام索ابات MySQL

هذا المثال يشرح MySQL مفتاح التشابك.شاركه مع الجميع للاستفادة، كالتالي:

جداول الموظفين userid
جداول الأقسام deptid
جداول الموظفين والأقسام

الشرط: يمكن لموظف أن يكون له عدة أقسام

السؤال: كيفية إعداد قاعدة البيانات بحيث لا يمكن إضافة userid و deptid مرة أخرى؟

uuid userid deptid
111
212
311(هذا لا يمكن إضافته)

DROP TABLE IF EXISTS `dept`;
CREATE TABLE `dept` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `deptname` char(32) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of dept
-- ----------------------------
INSERT INTO `dept` VALUES ('1', '1');
INSERT INTO `dept` VALUES ('2', '2');
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(32) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of employee
-- ----------------------------
INSERT INTO `employee` VALUES ('1', '11');
DROP TABLE IF EXISTS `employee_dept`;
CREATE TABLE `employee_dept` (
 `id` int(11) NOT NULL,
 `employeeid` int(11) NOT NULL,
 `deptid` int(11) NOT NULL,
 PRIMARY KEY (`id`),
 KEY `bb` (`deptid`),
 KEY `myindex` (`employeeid`,`deptid`),
 CONSTRAINT `aa` FOREIGN KEY (`employeeid`) REFERENCES `employee` (`id`),
 CONSTRAINT `bb` FOREIGN KEY (`deptid`) REFERENCES `dept` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- سجلات employee_dept
-- ----------------------------
INSERT INTO `employee_dept` VALUES ('1', '1', '1');
INSERT INTO `employee_dept` VALUES ('2', '1', '2');

ملاحظة: إنشاء فهرس مشترك باستخدام الأمر التالي create index myindex on employee_dept (employeeid,deptid);

يمكن للقراء المهتمين بمزيد من المعلومات حول MySQL التحقق من مواضيع هذا الموقع: 'تحليل تقنيات إنشاء الفهرس في MySQL'، 'كامل تقنيات التعامل مع سجلات MySQL'، 'تحليل تقنيات التعامل مع المعاملات في MySQL'، 'كامل تقنيات التعامل مع البرامج التخزينية في MySQL'، 'تحليل تقنيات التعامل مع قفل قاعدة بيانات MySQL'، وأيضاً 'تحليل تقنيات الدوال الشائعة في MySQL'.

آمل أن يكون هذا المقال قد ساعد الجميع في إدارة قاعدة بيانات MySQL.

بيان: محتوى هذا المقال تم جمعه من الإنترنت، ويحق لصاحب الحقوق أن يكون له حقوق ملكية، ويتم جمع المحتوى من إسهامات المستخدمين عبر الإنترنت، ويتم تحميل المحتوى بشكل تلقائي، ويستخدم هذا الموقع حقوق الملكية، ويتم التعامل مع المحتوى بشكل تلقائي، ولا يتحمل هذا الموقع أي مسؤولية قانونية. إذا كنت قد وجدت محتوى يشتبه في انتهاك حقوق النسخ، فلا تتردد في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال '#' بـ '@') لتقديم الشكوى، وتقديم الدليل ذات الصلة، وإذا تم التحقق من ذلك، فإن هذا الموقع سيقوم بإزالة المحتوى المشبوه فوراً.

سيحبك