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

ماذا يكون نوع البيانات لهذا الحقل

بدأه syrian man في 15 أبريل 2010 · 7 رد · 585 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أقوم بتصميم جدول عبارة عن جدول مدرسين

طبعا هذا الجدول يجب أن يكون المفتاح الأساسي له عبارة عن رمز المدرس أي t_ ثم الحرف الأول من أسم المدرس ثم الكنية

مثال :

t_afares

وهو رمز لمدرس أسمه أحمد فارس وهكذا

فهل يمكن أن تخبروني ما نوع بيانات هذا الحقل وكيف يمكن أن يكون مفتاح أساسي ويأخذ قيمة أتوماتيكيا إذا كان يمكن أن يفعل ذلك

هل يمكن أن أقوم مثلا بإنشاء نوع بيانات جديد إذا كان ممكن فأرجو أن تتعلموني بالطريق

ة وشكرا جزيلا لكم

#2

يا خذ قيمة اتوماتيكية ؟؟؟

الحقل يجب ان يكون حرفي

nvarchar

كيف يتم التكرار التلقائي يتم وضع ذلك بعملية الادخال الى قاعدة البيانات

اي قبل عملية الادخال نقوم بقص اول حرف من اسم المدرس واضافته الى كنيته ومن ثم اضافته الى البادئة

وبعد ذلك ادخاله الى قاعدة البيانات

لكن تكون المشكلة هنا لنفترض التالي

استاذ اول اسمه

محمود فارس t_mfares

محمد فارس t_mfares

فلو اخذنا اول حرف واضافتته الى الكنية لاصبح تكرار

انا انصحك بوضع مفتاح رئيسي رقمي ويقوم بعملية تويد تلقائية للمفتاح الرئيسي

تم تعديل هذه المشاركة بواسطة AsJsGle في 15 أبريل 2010 في 20:28

In bad state

#3

شكشكرا أخي ولكن المطلوب مفتاح أساسي رمز وليس رقم

أأاااما من أجل

محمود فارس t_mfares

محمد فارس t_mhfares

هكذا يجب أن يكون

#4

لماذا انت مصر على ان يكون الحقل الأساسي من النوع الحرفي و ليس الرقمي؟ إن هذا أمر في منتهى الصعوبة بالنسبة لك... ما الضرر في جعل الحقل الأساسي للجدول رقميا"؟

#5

السلام عليكم

أخي بهاء لو الأمر بيدي لوضعته مفتاح رقمي

ولكن ليس بيدي لإانا مضطر غلى أن أضع المفتاح رمز وليس رقم

#6

هالعملية بتم

كن اين المشكلة لنفترض شخص اسمه

محمود الفارس

ومدرس اخر

محمود الفارس

ستحتاج هنا الى خوارزمية معقدة قليلا

والتي ستكون كالتالي

تقوم بعمل السابق وهو قص اول محرف ومن ثم اضافته الى الكنية ومن ثم اضافته الى بداية السلسلة

t_

ومن ثم تعمل استعلام على الداتا بيس ليتحقق هل يوجد مثل هذا الاسم

ان كان يوجد يقوم بتغيير القيمة الحالية للمتغير باضافة رقم وليكن رقم مؤلف من خانة واحد وبعدها يعود الى قاعدة البيانات ليتحقق

هل هو موجود ان كان موجود يعود ويضيف خانة اخر

طبعا العملية ستتم ضمن while

لحل سيكون صحيح ولكن بطلبك اذا كان الاسم موجودان يختار الحرف الثاني

t_mhfares

المششكلة هو لو ان الاسم نفسه حرف بحرف

حين ذاك يجب ان يبحث هل الاب نفسه ويطبق بالاعلى

اتوقع بانه لم يطلب منك كل هذا وطبعا ذلك يعود لك

In bad state

#7

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

شكرا لكم على المساعدة ما وصلت غليه هو التالي ولكن ما زال ناقص

CREATE TABLE [dbo].[tutor](

[totur code] AS ('t'+'_'+([lname]+'_')+[fname]),

[lname] [varchar](10) NOT NULL,

[fname] [varchar](50) NOT NULL

)

insert into tutor (lname,fname) values ('mohamad','fares')

select * from tutor

ولكن هنا يظهر كامل الأسم الأول وهنا تكمن المشكلة

تم تعديل هذه المشاركة بواسطة syrian man في 16 أبريل 2010 في 21:43

#8

استخدم SUBSTRING

ولكن لم لا تستخدم الاجرائيات المخزنة تعتبر اقوى واسرع من الانماط المعرفة

لانه وبتصميمك السابق بالتاكيد سيصبح تضارب وانا متاكد من ذلك 100%

جرب بالاجرائيات المخزنة

In bad state

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…