الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن العلاقات

مغلق
بدأه Asm4all في 28 ديسمبر 2004 · 3 رد · 627 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته..

هذه هي أول مشاركه لي في هذا القسم, واود أن استفسر عن كيفية انشاء علاقه بين جدولين ولكنها علاقة مجموعه بمجموعه وليست كالمعتاد واحد بمجموعه.

والمثال الذي أوقفني هو مكتبه حيث يوجد جدول باسماء الكتب وجدول بأسماء المؤلفين وتوجد بعض الكتب لها أكثر من مؤلف ويوجد بعض المؤلفين لهم أكثر من كتاب فما الحل؟

#2

تفضل عزيزي الفاضل

في علاقة أطراف بأطراف، يوجد لسجل في جدول A عدة سجلات مطابقة في جدول B، ويمكن أن يكون لسجل في جدول Bعدة سجلات مطابقة في جدول A يكون هذا النوع من العلاقة ممكناً فقط بواسطة تعريف جدول ثالث (يدعى جدول الربط) الذي يتكون مفتاحه الأساسي (المفتاح الأساسي: حقل أو أكثر (أعمدة) تحدد قيمها بشكل فريد كل سجل في الجدول. لا يسمح المفتاح الأساسي بالقيمة خالية ويجب أن يكون له دومًا فهرس فريد. ُيستخدم المفتاح الأساسي لربط جدول بمفاتيح خارجية في جداول أخرى.) من حقلين— المفاتيح الخارجية (مفتاح خارجي: حقل واحد أو أكثر من حقول الجدول (الأعمدة) يشير إلى حقل أو حقول المفتاح الأساسي في جدول آخر. يشير المفتاح الخارجي إلى كيفية ارتباط ‎الجداول.) من كلا الجدولين A وB. وعلاقة أطراف بأطراف هي في الواقع علاقتي رأس بأطراف مع جدول ثالث. على سبيل المثال، يحتوي جدول Orders "الطلبات" وجدول Products "المنتجات" على علاقة أطراف بأطراف معرفة بواسطة إنشاء علاقتي رأس بأطراف مع جدول Order Details "تفاصيل الطلبات". قد يحتوي الطلب على عدة منتجات، ويمكن أن يظهر كل منتج في عدة طلبات.

link.jpg

1. مفتاح أساسي من جدول "الطلبات" Orders

2. مفتاح أساسي من جدول "المنتجات" Products

3. يمكن أن يحتوي أحد الطلبات على العديد من المنتجات ...

4. ... ويمكن أن يظهر كل منتج في العديد من الطلبات.

ولك شكري وتقديري

#3

السلام عليكم ورحمة الله وبركاته...

أشكرك على مشاركتك الطيبه, و جزاك الله خيرا

وسوف احاول تطبيق الفكره, واذا وجد استفسار سوف أعرضه مره ثانيه ( فانا لا أمل السؤال في العلم )

#4

السلام عليكم ورحمة الله وبركاته..

تقريبا فهمت الفكره وطبقتها ورأيت أن طرح المثال فكرة جيده

المثال عباره عن مكتبه بسيطه والحل ب SQL

لانشاء قاعدة البيانات والجداول

create	database  Library
on(name='Library',filename='C:\Library.mdf',size=1,filegrowth=1)
go

use	Library

create	table	Books
(
	BookID  int	primary key identity (1,1),
	BookName	varchar(40),
	Parts  int,
	LngID  bit
)

create	table	Author
(
	AuthorID	int	primary key identity (1,1),
	AuthorName	varchar(40)
)

create	table	AConnect
(
	BookID  int,
	AuthorID  int
)
create	table	Languges
(
	LngID  bit,
	Languge  varchar(7)
)

ولادخال بعض الكتب

use	Library

insert	into	Books  Values('Computer Networks',1,0)
insert	into	Books  Values('Modern Control Engineering',1,0)
insert	into	Books  Values('Modern Operating Systems',1,0)
insert	into	Books  Values('Digital Control Of Dynamic Systems',1,0)
insert	into	Books  Values('في ظلال القرآن',6,1)
insert	into	Books  Values('احياء علوم الدين',5,1)
insert	into	Author  Values('Andrew S. Tanenbaum')
insert	into	Author  Values('Katsuhiko Ogata')
insert	into	Author  Values('Gen F. Franklin')
insert	into	Author  Values('J. David Powell')
insert	into	Author  Values('Michael L. Workman')
insert	into	Author  Values('سيد قطب')
insert	into	Author  Values('الامام الغزالي')
insert	into	AConnect  Values(1,1)
insert	into	AConnect  Values(2,2)
insert	into	AConnect  Values(3,1)
insert	into	AConnect  Values(4,3)
insert	into	AConnect  Values(4,4)
insert	into	AConnect  Values(4,5)
insert	into	AConnect  Values(5,6)
insert	into	AConnect  Values(6,7)
insert	into	Languges  Values(0,'English')
insert	into	Languges  Values(1,'العربيه')

وللبحث

select	Books.BookID,Books.BookName,Books.Parts,Author.AuthorName,Languges.Languge
from	Books,Author,AConnect,Languges
where	Languges.LngID = Books.LngID
and	Author.AuthorID = AConnect.AuthorID
and	Books.BookID = AConnect.BookID
-- فعل سطر واحد من الأسطر القادمه واوقف الأخرين
--and	Books.BookName = 'Modern Control Engineering'
and	Languges.Languge = 'العربيه'
--and	Author.AuthorName = 'Andrew S. Tanenbaum'

ملحوظه :

ماذلت مبتدإ وأكيد توجد طرق أفضل ولكن هذا ما فهمته حتى الآن

هذا الموضوع مغلق.

مواضيع مشابهة