تعداد فروش | 0 دانشجو |
---|---|
پرسش و پاسخ ها | 0 کاربر |
تاریخ انتشار | 13 تیر 1402 |
سطح تمرین | متوسط |
در این پست قصد داریم پروژه پایگاه داده رایگان دفترچه تلفن را بررسی و پیاده سازی نماییم.
دفترچه تلفن، یکی از ابزارهای مهم برای مدیریت اطلاعات تماس با افراد مختلف است.
در دفترچه تلفن، اطلاعات شخصی مخاطبین شامل نام، شماره تلفن، آدرس و سایر جزئیات ثبت میشود.
پایگاه داده دفترچه تلفن، به عنوان یک سامانه مدیریت اطلاعات مخاطبین، به شما کمک میکند تا اطلاعات مخاطبین را به صورت سازماندهی شده و قابلیت جستجوی سریع داشته باشید.
در این مقاله، پروژه پایگاه داده دفترچه تلفن با سه جدول گروه مخاطبین، مخاطبین و تلفن مخاطبین و کوئریهای اضافه کردن و نمایش ارائه میشود.
پایگاه داده دفترچه تلفن، شامل سه جدول گروه مخاطبین، مخاطبین و تلفن مخاطبین است.
جدول گروه مخاطبین شامل اطلاعات مانند کد گروه،عنوان گروه مربوط به گروههای مخاطبین است.
جدول مخاطبین شامل اطلاعات شخصی مخاطبین مانند نام و نام خانوادگی و … است و جدول تلفن مخاطبین شامل شماره تلفنهای مخاطبین است.
جدول گروه مخاطبین و جدول تلفن مخاطبین، به جدول مخاطبین مرتبط هستند تا از تکرار اطلاعات جلوگیری شود.
جدول مخاطبین در این پروژه پایگاه داده شامل فیلد های زیر میباشد:
CREATE TABLE [dbo].[tblcontact]( [id] [int] IDENTITY(1000,1) NOT NULL, [flname] [nvarchar](150) NULL, [created] 2024 NULL CONSTRAINT [DF_tblcontact_created] DEFAULT (getdate()), [picurl] [nvarchar](500) NULL, [groupid] [int] NULL, CONSTRAINT [PK_tblcontact] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
همانطور که میدانیم هر مخاطبین میتواند چندین شماره تلفن داشته باشد.
پس در نتیجه نیاز به جدول تلفن مخاطبین داریم و به صورت زیر آن را تعریف میکنیم:
CREATE TABLE [dbo].[tbltell]( [id] [int] IDENTITY(500,1) NOT NULL, [contactid] [int] NULL, [tell] [nvarchar](11) NULL, CONSTRAINT [PK_tbltell] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
برای اینکه مخاطبین را در گروه های مختلف قرار دهیم نیاز به جدول گروه مخاطبین داریم.
جدول گروه مخاطبین در این پروژه پایگاه داده به شرح زیر میباشد:
CREATE TABLE [dbo].[tblgroup]( [id] [int] IDENTITY(100,1) NOT NULL, [name] [nvarchar](50) NULL, CONSTRAINT [PK_tblgroup] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
انجام پروژه های برنامه نویسی
وفایی مقدم
0936-328-6141
همانطور که در کدنویسی ایجاد جداول مشاهده میکنید یک سری فیلد های خارجی در جدول مخاطب و تلفن مخاطب وجود دارد.
فیلد groupid کلید خارجی در جدول مخاطب میباشد که از جدول گروه مخاطبین آمده است.
همچنین فیلد contactid در جدول tell کلید خارجی میباشد که از جدول مخاطبین آمده است.
در پایگاه داده برای برقراری ارتباط بین دو جدول از Relation ها استفاده میکنیم.
یعنی با کوئری ADD CONSTRAINT جدولی که شامل کلید خارجی است را به جدولی که شامل کلید اصلی است وصل میکنیم.
ALTER TABLE [dbo].[tblcontact] WITH CHECK ADD CONSTRAINT [FK_tblcontact_tblgroup] FOREIGN KEY([groupid]) REFERENCES [dbo].[tblgroup] ([id]) GO ALTER TABLE [dbo].[tblcontact] CHECK CONSTRAINT [FK_tblcontact_tblgroup] GO
در این کوئری کلید خارجی groupid از جدول contact به کلید اصلی id در جدول group وصل شده است.
برای برقراری ارتباط بین جدول مخاطب و تلفن مخاطب از کوئری زیر استفاده میکنیم:
ALTER TABLE [dbo].[tbltell] WITH CHECK ADD CONSTRAINT [FK_tbltell_tblcontact] FOREIGN KEY([contactid]) REFERENCES [dbo].[tblcontact] ([id]) GO ALTER TABLE [dbo].[tbltell] CHECK CONSTRAINT [FK_tbltell_tblcontact] GO
در این کد کلید خارجی contactid در جدول tell به کلید اصلی id در جدول contact متصل شده است.
در این ادامه پروژه پایگاه داده رایگان دفترچه تلفن به کوئری نویسی این سناریو میپردازیم.
همچنین میتوانید برای یادگیری بهتر کوئری نویسی،کوئری نویسی سناریو کارمند و پروژه در sql را مشاهده نمایید.
برای درج یک گروه مخاطب جدید از کوئری زیر استفاده میکنیم:
insert into tblgroup (name) values ('کسب و کار');
در این کوئری گروه “کسب و کار” به دیتابیس اضافه میشود.
در روش اول با فرض داشتن کد گروه کوئری زیر را مینویسیم:
select * from tblcontact where groupid = 100
در روش دوم با در نظر گرفتن نام گروه کوئری زیر را مینویسیم:
select * from tblcontact,tblgroup where tblcontact.groupid = tblgroup.id and tblgroup.name = N'دوستام'
فرق این دو روش این میباشد که در اولین روش join اتفاق نیفتاده ولی در روش دوم با کمک join اطلاعات را واکشی میکنیم.
در پایگاه داده دفترچه تلفن مهم ترین جستجو،جستجو بر اساس نام و نام خانوادگی مخاطب میباشد.
پس باید خیلی با دقت و شباهت زیادی را در نظر بگیریم زیرا مخاطب کمترین حوصله را به خرج میدهد.
به عبارتی دیگر یعنی کاربر اگر “ح” را وارد کردن تمامی شباهت های اسمی به “ح” را سیستم باید نمایش دهد.
پس کوئری را به صورت زیر مینویسیم:
SELECT distinct * FROM tbltell,tblcontact where tblcontact.id = tbltell.contactid and tblcontact.flname like N'%حسن%';
برای شمارش تعداد مخاطبین داخل هر گروه باید از دستور Group By استفاده نماییم.
به عبارتی دیگر باید با تابع count(*) تعداد مخاطبین را بشماریم و سپس با دستور Group By گروه بندی کنیم.
کوئری نمایش تعداد مخاطبین هر گروه به شرح زیر میباشد:
select groupid,count(*) as cgroup from tblcontact group by groupid
با استفاده از این پروژه پایگاه داده رایگان دفترچه تلفن، شما میتوانید به راحتی اطلاعات مخاطبین خود را مدیریت کنید.
با داشتن قابلیتهای اضافه کردن، حذف، ویرایش و جستجوی پیشرفته، شما میتوانید به سادگی به اطلاعات مورد نیاز خود دسترسی پیدا کنید.
این پروژه، به عنوان یک نمونه ساده از طراحی پایگاه داده، میتواند به شما کمک کند تا مفاهیم مرتبط با پایگاه داده را بهتر فهمیده و در طراحی پایگاه دادههای بزرگتر و پیچیدهتر، بهتر عمل کنید.
از بخش تمرین SQL میتوانید مجموعه تمرین های رایگان و با جواب پایگاه داده را مشاهده نمایید.
پرسش و پاسخ ها
هنوز بررسیای ثبت نشده است.