القاموس
تحتوي علامة تبويب القاموس على معيار التسمية الخاص بالمخطط في ثلاثة قواميس، كل منها في ورقة تحررها كما في جدول البيانات:
Domains: أنواع بيانات مسمّاة، مثلNameالذي يمثلVARCHAR(100). ويحمل العمود المرتبط بمجال نوع بيانات ذلك المجال.Words: الكلمات القياسية التي تتكوّن منها الأسماء المنطقية، ولكل منها الاختصار الذي يستخدمه الاسم المادي بدلًا منها، مثلCustomerوCUST.Terms: أسماء منطقية كاملة، ولكل منها الاسم المادي والمجال اللذان يمنحهما، مثلCustomer NameمعCUST_NM.
يشتق الاسم المنطقي للجدول أو العمود اسمه المادي من هذه القواميس، ويمكن لمصطلح العمود أيضًا أن يربطه بمجال، راجع اشتقاق الأسماء المادية.
وتسرد ورقة رابعة، Checks، ما تجده القواميس من أخطاء في أسماء المخطط وأنواعه وفي القواميس نفسها، مثل كلمة محظورة في اسم منطقي، راجع ورقة الفحوصات.
فتح علامة التبويب
انتقل إلى علامة التبويب Dictionary في شريط الأدوات، وهي الزر ذو أيقونة الكتاب بين Code Generator وSettings، أو اختر Dictionary ضمن Tab في البحث السريع.
ويمكن أن تكون علامة التبويب التي يُفتح عليها المخطط، راجع Canvas Type في القفل.
تُفتح علامة التبويب على الورقة Domains إلى أن تختار ورقة أخرى.
وفي كل مرة تُفتح فيها، تعود الورقة بالتحديد وموضع التمرير اللذين تركتهما، أو بتحديد خليتها الأولى في الزيارة الأولى. وتتلقى شبكتها تركيز لوحة المفاتيح، فتعمل الكتابة أو مفاتيح الأسهم فورًا.
الورقة المعروضة، وبحث كل ورقة وتحديدها وموضع تمريرها وعروض أعمدتها، خاصة بك وحدك.
ولا يُحفظ شيء من ذلك في الملف، ولا يُسجَّل في سجل التراجع، ولا يُشارَك مع المتعاونين. ويبقى ما دام المحرر مفتوحًا، عبر التنقل بين علامات التبويب وعبر المستندات المحمّلة في المحرر نفسه.
الأوراق
يحمل الشريط الممتد في الأعلى أزرار الأوراق الأربعة، Domains وWords وTerms وChecks، ويبدو زر الورقة المعروضة مضغوطًا. ويعرض كل زر عددًا بجانب اسمه: عدد الصفوف التي تحتويها ورقته، أيًّا كان ما يعرضه البحث، أو في Checks عدد الفحوصات، ملوّنًا بحسب مستواها، راجع ورقة الفحوصات.
ويليها حقل البحث، راجع البحث. وفي نهاية الشريط، في Domains وWords وTerms وليس في محرر للقراءة فقط، تأتي أربع أدوات: Add Row وDelete Rows وImport CSV وExport CSV، راجع إضافة الصفوف وحذفها واستيراد ملفات CSV وتصديرها.
وفي مساحة ضيقة أو مع لغة عرض طويلة النصوص، يلتف الشريط على أسطر إضافية، فيبقى كل زر في المتناول.
وتحت الشبكة، يعدّ سطر الحالة الصفوف التي يُبقيها البحث، كما في 4 rows، ويعدّ، ما دام التحديد يشمل أي صف، عدد الصفوف التي يشملها، كما في 1 selected. ويُعدّ الصف المشترك بين نطاقين مرة واحدة، لذا يساوي هذا العدد عدد الصفوف التي سيزيلها Delete Rows.
وتعدّ أرقام الصفوف على الجانب الأيسر الصفوفَ كما تعرضها الورقة، بدءًا من 1. وتُرسم الخلية للقراءة فقط، وهي كل خلية في Checks وكل خلية في محرر للقراءة فقط، على خلفية رمادية، إلا حيث يعلّمها فحص.
وتعرض الورقة Domains أو Words أو Terms الفارغة النص Import a CSV file or add a row، إلا في محرر للقراءة فقط.
أعمدة كل ورقة، بالترتيب:
| الورقة | الأعمدة |
|---|---|
Domains | Domain, Category, Data Type, Description |
Words | Word, Abbreviation, English Name, Description, Synonyms, Forbidden Words |
Terms | Term, Physical Name, Domain, Description, Synonyms |
Checks | Type, Target, Detail |
ما تؤديه الخلايا:
- يُكتب الحقل
Data Typeللمجال كما يُكتب نوع العمود، مثلVARCHAR(100)أوNUMERIC(15,2)، ويحمله كل عمود مرتبط بالمجال، راجع المجالات وأنواع البيانات. - الحقل
Abbreviationللكلمة هو ما يستخدمه الاسم المادي بدلًا من الكلمة، راجع من الكلمات. - يسرد الحقلان
SynonymsوForbidden Wordsللكلمة كلمات أخرى للمعنى نفسه، مفصولة بفواصل. وتُحذف المسافات من طرفي كل عنصر، ويُسقَط العنصر الفارغ، ويُتجاهل العنصر المطابق للكلمة نفسها. والاسم المنطقي الذي يستخدم أحدها لا يكوّن اسمًا ماديًا، وترصده الورقةChecksوتذكر الكلمة التي ينبغي استخدامها بدلًا منه، راجع ما يرصده كل فحص. - الحقل
Termللمصطلح اسم منطقي كامل، والحقلPhysical Nameله هو الاسم الذي يمنحه ذلك الاسم المنطقي، راجع من مصطلح. - يعرض الحقل
Domainللمصطلح اسم المجال الذي يرتبط به المصطلح، ويكون فارغًا ما دام المصطلح غير مرتبط بأي مجال أو مرتبطًا بمجال أُزيل منذ ذلك الحين، راجع مجال المصطلح. - الحقول
CategoryوEnglish NameوكلDescriptionوالحقلSynonymsللمصطلح نصوص توضيحية. فهي لا تغيّر شيئًا، ولا يقرؤها أي فحص.
وفي لغة عرض تُكتب من اليمين إلى اليسار، ينعكس اتجاه الشريط وقائمة الشبكة وسطر الحالة، بينما تبقى الأوراق وقائمة مجالات المصطلح من اليسار إلى اليمين.
اشتقاق الأسماء المادية
يمكن للقواميس أن تمنح الجدول أو العمود اسمه المادي، وهو الاسم الذي يكتبه مخطط SQL ومنشئ التعليمات البرمجية، انطلاقًا من اسمه المنطقي. ويُبحث أولًا عن مصطلح يكون حقله Term هو الاسم المنطقي؛ وإلا فيُكوَّن الاسم من اختصارات الكلمات.
على سبيل المثال، مع الكلمات Customer (CUST) وName (NM) وNumber (NO) وOrder (ORD) وDate (DT)، والمصطلح Customer Number بالاسم المادي CUST_NO والمجال Number الذي نوع بياناته INT:
- يمنح الاسم المنطقي
Customer Numberالعمود الاسمCUST_NO، ويربطه بالمجالNumber، ويمنحه النوعINT. - يكوّن
Order DateالاسمORD_DT. - يحمل الجدول ذو الاسم المنطقي
CustomerالاسمCUST.
وحين تكون الورقة Words والورقة Terms فارغتين، لا يُشتق شيء.
متى يُشتق الاسم
يُشتق الاسم المادي عند كتابة الاسم المنطقي:
- على لوحة الرسم، حين يُغلق محرر خلية الاسم المنطقي على اسم منطقي غير الذي فُتح به، باستخدام
EnterأوTabأوEscapeأو بالنقر في موضع آخر. وكل مفتاح تكتبه لا يكتب إلا الاسم المنطقي، راجع كتابة اسم منطقي. - فورًا، حين تختار مصطلحًا من القائمة أسفل الخلية، راجع إكمال أسماء المصطلحات.
- حين يكتب اللصق في خلية اسم منطقي، راجع نسخ الأعمدة ولصقها.
- حين يستبدل البحث والاستبدال اسمًا منطقيًا، تطابقًا واحدًا أو جميع التطابقات.
- حين يعيّن وكيل البرمجة اسمًا منطقيًا.
ولا يُشتق إلا ما دام الاسم المادي فارغًا أو كان هو نفسه مشتقًا، راجع أسماؤك الخاصة.
واختيار مصطلح أو اللصق أو الاستبدال يكتب الاسم المنطقي وما يشتقه في خطوة تراجع واحدة. وعلى لوحة الرسم، يمثل الاسم المشتق عند إغلاق المحرر خطوة مستقلة بعد الكتابة: فأول تراجع يلغي الاسم المشتق، مع المجال والنوع اللذين جلبهما المصطلح، ويُبقي الاسم المنطقي الذي كتبته.
ولا يُعاد اشتقاق شيء لاحقًا من تلقاء نفسه. فالحقل Abbreviation الجديد للكلمة، والحقل Physical Name أو Domain الجديد للمصطلح، والكلمات أو المصطلحات الجديدة، تترك الأسماء المشتقة سابقًا كما هي؛ استخدم إعادة اشتقاق الأسماء المادية لذلك. والاستثناء هو الحقل Data Type للمجال: إذ يصل إلى أعمدته فورًا.
من مصطلح
يُبحث أولًا في الورقة Terms عن مصطلح يساوي حقله Term الاسمَ المنطقي. وتُتجاهل المسافات في الطرفين وتركيب أحرف Unicode، لكن حالة الأحرف تُراعى، لذا لا يطابق customer number المصطلح Customer Number. ومن بين مصطلحين يحملان الاسم نفسه، يُعتمد الأول في الورقة.
- يمنح المصطلح حقله
Physical Name، أو، ما دام ذلك الحقل فارغًا، الاسم الذي تكوّنه كلماته، كما هو موضح أدناه، إن كوّنت اسمًا. - أما العمود، فيربطه المصطلح أيضًا بمجاله في الحقل
Domainما دامت الورقةDomainsتتضمن ذلك المجال، مما يمنح العمود نوع بيانات المجال، راجع ربط عمود بمجال. ويفعل ذلك حتى حين لا يمنح المصطلح أي اسم. والمصطلح الذي لا مجال له لا يفك أي ربط. - أما الجدول فلا يأخذ إلا الاسم المادي للمصطلح.
من الكلمات
حين لا يوجد مصطلح مطابق، تكوّن الكلمات الاسم:
- يُقسَّم الاسم المنطقي عند المسافات و
_و-و·و/، ولا تمتد أي كلمة عبر موضع التقسيم. - يُقرأ كل جزء من اليسار، فيُؤخذ عند كل موضع أطول نص تتضمنه الورقة
Words، بوصفهWordأو مرادفًا أو كلمة محظورة، دون الرجوع إلى الخلف أبدًا. فمع الكلمات가입و가입일و일자، يُقرأ가입일자على أنه가입일و자، فيبقى자غير مسجل، بينما يُقرأ가입 일자على أنه가입و일자. وحالة الأحرف تُراعى:memberليست الكلمةMember. - الاسم المادي هو قيم الحقل
Abbreviationللكلمات كما كُتبت، موصولة بالرمز_، مثلORD_DT. ومن بين كلمتين تحملان الاسم نفسه، يُؤخذ الاختصار من الأولى في الورقة. ولا يُطبَّق أي حد للطول، ولا دور للخيارينTable Name CaseوColumn Name Caseفي منشئ التعليمات البرمجية.
والأمر كله أو لا شيء. فإن كان أي مقطع مرادفًا أو كلمة محظورة أو نصًا لا تتضمنه أي كلمة، أو كان الحقل Abbreviation لإحدى الكلمات فارغًا، فلا يُكوَّن أي اسم، ويبقى الاسم المادي كما هو.
أسماؤك الخاصة
لا تملأ القواميس الاسم المادي إلا ما دام فارغًا أو كانت هي نفسها قد ملأته. ويتذكر المحرر ذلك لكل جدول وعمود، مع أن لوحة الرسم لا تُظهر شيئًا منه.
- يصبح الاسم الذي تكتبه اسمًا خاصًا بك: الكتابة في خلية الاسم، واستبدال اسم جدول أو عمود باستخدام البحث والاستبدال، واللصق فوق خلية اسم العمود، وإعادة التسمية التي يجريها وكيل البرمجة. والاسم المنطقي المكتوب لاحقًا يتركه كما هو، ولا يكتب إلا الاسم المنطقي، ولا يربط العمود بأي مجال.
- مسح الاسم يعيده إلى القواميس، لأن الاسم الفارغ يُشتق دائمًا.
- الاسم المنطقي الذي لا يشتق شيئًا يترك الاسم المادي وحالته كما كانا: فالاسم الفارغ يبقى فارغًا، والاسم المشتق يحتفظ بقيمته ويبقى تابعًا للقواميس.
- يبدأ الجدول أو العمود الجديد باسم فارغ، لذا يشتقه أول اسم منطقي له. أما عمود المفتاح الخارجي الذي تضيفه علاقة فيُسمّى على اسم مفتاحه ويُعدّ اسمه اسمًا خاصًا بك، راجع أسماء أعمدة المفاتيح الخارجية.
- الأسماء التي يجلبها
ImportأوImport and Addمن مخطط SQL أو GraphQL أو DBML أو AML، وأسماء المخطط الذي أنشأه إصدار سبق علامة تبويب القاموس، تُعدّ أسماء خاصة بك، لذا لا يشتق الاسم المنطقي المكتوب عليها لاحقًا شيئًا. - الجدول المكرر، والعمود المنقول إلى جدول آخر بمقبض السحب، ولصق الجداول المنسوخة، و
Import and Addلملف JSON، تحتفظ كلها بحالة كل اسم. والأعمدة الملصقة في الجداول المحددة بوصفها أعمدة جديدة تُعدّ أسماؤها خاصة بك، إلا إذا كان الاسم الملصق فارغًا واشتق اسمها المنطقي اسمًا. - الأمر إعادة اشتقاق الأسماء المادية يعيد الاسم الخاص بك إلى القواميس، بما في ذلك الاسم المستورد.
عمودان، اسم واحد
لا يشتق العمود شيئًا حين يكون لعمود آخر في جدوله الاسم الذي كان سيشتقه. فيحتفظ باسمه وحالته وربطه بالمجال، ولا يُكتب إلا اسمه المنطقي. وتُقارن الأسماء مع تجاهل حالة الأحرف والمسافات في الطرفين، كما تُقارن أسماء أعمدة المفاتيح الخارجية.
وحين يكون من شأن تغيير واحد أن يمنح عمودين الاسم نفسه، كما قد يفعل Replace All أو Derive Physical Names Again على جدول، يأخذه أولهما في الجدول.
على سبيل المثال، تضيف علاقة ذاتية المرجع على الجدول members ذي المفتاح MBR_NO العمودَ MBR_NO_2، الذي ينسخ الاسم المنطقي Member Number. وكان Derive Physical Names Again سيسمّيه MBR_NO، وهو الاسم الذي يحمله المفتاح، لذا يحتفظ بالاسم MBR_NO_2.
ولا تخضع الجداول لمثل هذه القاعدة: إذ يمكن لجدولين أن يشتقا الاسم نفسه.
إعادة اشتقاق الأسماء المادية
استخدم Derive Physical Names Again بعد تغيير الحقل Abbreviation للكلمة أو الحقل Physical Name أو Domain للمصطلح، لأن هذه التغييرات لا تعيد تسمية أي شيء من تلقاء نفسها. فهو يعيد الأسماء التي يشملها إلى القواميس ويشتقها من جديد وفق القواعد السابقة، بما في ذلك الأسماء التي كتبتها بنفسك. ولا يُتاح إلا في علامة تبويب ERD، وليس في محرر للقراءة فقط:
- قائمة السياق للجدول، مباشرة بعد
Focus on this tableأوFocus on selected tables. وما دام الجدول واحدًا من جدولين محددين أو أكثر، يشملDerive Physical Names Againجميعها، أينما نقرت بزر الماوس الأيمن على الجدول. وإلا، فالنقر بزر الماوس الأيمن على صف عمود يعرضDerive Physical Name Againلذلك العمود وحده، والنقر على الرأس يعرضDerive Physical Names Againلاسم الجدول وكل أعمدته. - قائمة السياق للوحة الرسم، مباشرة بعد
Name View:Derive Physical Names Againلكل جدول وعمود في المخطط. ولا يظهر ما دام المخطط خاليًا من الجداول. - البحث السريع، في صورة صفوف للعمود الذي عليه التركيز، والجدول الذي عليه التركيز، والجداول المحددة، والمخطط بأكمله.

يُعاد اشتقاق كل جدول وعمود مشمول له اسم منطقي. ويأخذ العمود أيضًا المجال الذي يمنحه مصطلحه، ومعه نوع المجال، الذي ينتشر عبر العلاقات ما دامت مزامنة نوع البيانات عبر العلاقات مفعّلة.
ولا يمسّ الجدول أو العمود الذي لا اسم منطقيًا له، ولا العمود الذي يحمل عمود آخر في جدوله اسمه الجديد، راجع عمودان، اسم واحد. ويحتفظ كل منها باسمه وحالته، خاصًا بك أو تابعًا للقواميس، ويحتفظ العمود أيضًا بربطه بالمجال.
والاسم المنطقي الذي لا يشتق شيئًا الآن يترك الاسم المادي كما هو، لكنه يعيده إلى القواميس، فيشتقه الاسم المنطقي التالي الذي تكتبه.
ويمثل خطوة تراجع واحدة، مهما كان عدد الأسماء والروابط والأنواع التي يغيّرها. ولا يسجّل أي خطوة إلا حين لا يغيّر شيئًا، وإعادة اسم خاص بك إلى القواميس تُعدّ تغييرًا، حتى حين يحمل الاسم بالفعل ما تمنحه.
ولا يُعاد تكوين الحقل Physical Name الخاص بالمصطلح من الكلمات المتغيرة، لذا عدّل المصطلح قبل إعادة الاشتقاق.
المجالات وأنواع البيانات
يحمل العمود المرتبط بمجال قيمة الحقل Data Type لذلك المجال. وربط العمود بالمجال يمنحه ذلك النوع فورًا.
وحين يتغير الحقل Data Type للمجال، سواء بالتحرير أو اللصق أو الاستيراد في الورقة Domains أو بتغيير من متعاون أو وكيل برمجة، يأخذ كل عمود مرتبط به النوع الجديد في الخطوة نفسها. وما دامت مزامنة نوع البيانات عبر العلاقات مفعّلة، يستمر كل تغيير من هذه التغييرات عبر العلاقات كما يفعل التغيير الذي تكتبه؛ وما دامت معطّلة، لا تتغير إلا الأعمدة المرتبطة.
وإعادة تسمية المجال لا تغيّر إلا الاسم الذي تعرضه خلايا المجال في الأعمدة.
والتراجع عن تغيير النوع الذي يُجرى في الورقة Domains يكون فيها، مع أنواع الأعمدة التي منحها، راجع أوراق القاموس.
والتراجع أو الإعادة في علامة تبويب ERD الذي يربط عمودًا بمجال من جديد، أو يعيد عمودًا مرتبطًا بمجال، يمنح العمود نوع المجال كما هو الآن. أما الذي يعيد نوعًا آخر فيفك ربط العمود بالمجال.
ربط عمود بمجال
يُربط العمود بمجال عن طريق:
- اختيار المجال في خلية المجال للعمود، التي يُظهرها View Option →
Domain، أو، في العرضLogical Names، في خلية النوع التي تحل محلها، راجع خلية المجال. - اسم منطقي يمنح مصطلحه مجالًا، راجع من مصطلح. ولا يحدث ذلك إلا ما دام الاسم مشتقًا، فلا يحدث مع اسم خاص بك أو مع عمود يحمل عمود آخر اسمه المشتق.
Derive Physical Name AgainأوDerive Physical Names Again، الذي يربط كل عمود مشمول بمجال مصطلحه.- علاقة: ينسخ عمود المفتاح الخارجي مجال مفتاحه، مع نوعه واسمه المنطقي، راجع العلاقات المُعرِّفة. والمفتاح الذي تحصل نسخته على نوع آخر، كما يحدث مع مفتاح serial، لا ينقل أي مجال.
- تكرار جدوله، أو نقله إلى جدول آخر بمقبض السحب، وكلاهما يحتفظ بالربط. أما لصق الجداول أو الأعمدة المنسوخة فلا يحتفظ به إلا ما دام هذا المخطط يتضمن المجال وما دام المجال لا يزال يحمل نوع العمود المنسوخ، لذا تصل النسخة من مخطط آخر غير مرتبطة بأي مجال، راجع نسخ الجداول والملاحظات ولصقها. ولا يربط
Import and Addأي عمود بمجال. - اسم مجال يُلصق في خلية المجال، راجع نسخ الأعمدة ولصقها.
فك الربط
- كتابة نوع في الخلية
DataTypeلعمود مرتبط، أو قبول اقتراح، يفك ربط العمود بالمجال بمجرد أن يختلف نوعه عن نوع مجاله، ويحتفظ العمود بالنوع الذي كتبته، راجع الإكمال التلقائي لنوع البيانات. وكتابة نوع المجال مجددًا لا تعيد الربط؛ اختر المجال في خلية المجال الخاصة بالعمود بدلًا من ذلك. ويفك اللصق فوق الخليةDataTypeوتغيير النوع الذي يجريه وكيل البرمجة الربط بالطريقة نفسها. - ما دامت مزامنة نوع البيانات عبر العلاقات مفعّلة، يُفك في الخطوة نفسها ربط كل عمود يصل إليه تغيير النوع ويختلف نوعه الجديد عن نوع مجاله، مثل مفتاح خارجي مرتبط بمجال خاص به. ويفك تعيين الأعمدة ربط الأعمدة التي يغيّر أنواعها بالطريقة نفسها.
- يفك
Noneفي خلية المجال ربط العمود ويُبقي نوعه. - تغيير الحقل
Domainللمصطلح أو مسحه، أو إزالة المصطلح، لا يغيّر أي عمود.
إزالة مجال
إزالة صف المجال تُبقي أعمدته على أنواعها، وتبقى روابطها. ولا تعرض الأعمدة أي مجال، وتسرد الورقة Checks الفحص Unknown domain لكل منها ما دامت الورقة Domains لا تزال تحتوي على مجال. والتراجع عن الإزالة في الورقة Domains يُظهر الروابط مجددًا.
وما دام المجال مُزالًا، فإن كتابة نوع غير نوع المجال في مثل هذا العمود تفك ربطه نهائيًا، وكذلك None في خلية المجال الخاصة به.
ويستبعد الملف تلك الروابط عند حفظه، لذا يُعاد فتح المخطط وتلك الأعمدة غير مرتبطة بأي مجال.
ويعرض المصطلح المرتبط بمجال مُزال خلية Domain فارغة، معلَّمة بوصفها Unknown domain. ويفك Delete أو Backspace على الخلية ربطه، راجع مجال المصطلح.
ورقة الفحوصات
تسرد الورقة Checks ما ترصده فحوصات القواميس في القواميس وفي جداول المخطط وأعمدته. والفحوصات تقرأ فقط: فهي لا تغيّر شيئًا.
ولا يعمل كل فحص إلا ما دامت الورقة التي يقرؤها تحتوي على صف، ولا تعمل فحوصات الكلمات إلا ما دامت الورقة Words تحتوي على كلمة لها اسم، لذا لا يسرد المخطط ذو القواميس الفارغة شيئًا.

أعمدتها الثلاثة للقراءة فقط:
- يذكر
Typeاسم الفحص، راجع ما يرصده كل فحص. - يذكر
Targetالكلمة أو المصطلح أو المجال باسمه، والجدول باسمه، والعمود بالصيغةtable.column، مع تسمية الجدول والعمود كما يسمّيهما عرض الأسماء، وunnamedحيث لا يعرض العرض أي اسم. - يعرض
Detailما وجده الفحص، وبعد→ما تقترحه القواميس بديلًا، موصولًا بفواصل إن تعدد، مثل멤버 → 회원. ويظهر الجانب الفارغ بالشكل—، كما في— → NUMERIC(15).
تأتي فحوصات الكلمات أولًا، ثم فحوصات المصطلحات والمجالات، ثم جدولًا تلو الآخر، وتأتي بعد كل جدول أعمدته.
وتتبع القائمة كل تعديل لحظة وصوله، بما في ذلك تعديلات المتعاونين ووكيل البرمجة، وكل تبديل لعرض الأسماء.
ويكون عدد الزر Checks أحمر ما دام أي فحص خطأً، وكهرمانيًا ما دامت جميعها تحذيرات، وخافتًا حين لا يوجد أي فحص.
ولا يمكن تحرير الصفوف أو إضافتها أو حذفها أو فرزها أو استيرادها أو تصديرها: فالشريط لا يعرض أي أدوات، والنقر بزر الماوس الأيمن لا يفتح قائمة الشبكة، ولا يفعل التراجع والإعادة شيئًا. ويعمل البحث والتحديد والنسخ كما في الأوراق الأخرى.
يؤدي Enter أو النقر المزدوج على صف إلى الانتقال إلى ما يذكره:
- الكلمة أو المصطلح أو المجال: تعرض علامة التبويب ورقته مع تحديد الخلية التي يقرؤها الفحص، وهي الاسم أو الحقل
Domainللمصطلح، ويظهر صفه في أعلى المنطقة المعروضة. ويُمسح بحث الورقة إن كان يخفي الصف. والصف الذي أُزيل منذ ذلك الحين لا ينتقل إلى أي مكان. - الجدول أو العمود: تظهر علامة تبويب ERD مع تحديد الجدول وحده ووضع التركيز على الخلية التي يقرؤها الفحص. وهي الاسم أو الاسم المنطقي أو خلية المجال، أو، حيث لا يرسم الصف تلك الخلية، الخلية المرسومة في مكانها. وتتلقى لوحة الرسم تركيز لوحة المفاتيح، ويتحرك موضع العرض وفق القاعدة الواردة في أين يستقر الانتقال.
والنقر المزدوج على رأس أو حافة عمود أو شريط تمرير أو أسفل الصفوف لا ينتقل إلى أي مكان.
ويسرد وكيل البرمجة الفحوصات نفسها، بالترتيب نفسه، باستخدام erd_list_checks، راجع فحوصات القاموس.
وتعلّم الأوراق الثلاث الأخرى الخلايا التي تقرؤها الفحوصات، أي الاسم أو الحقل Domain للمصطلح، بنص أحمر أو كهرماني على خلفية ملوّنة فاتحة:
- الأحمر: اسم يحمله صف آخر في ورقته، والحقل
Domainلمصطلح مرتبط بمجال مُزال، والحقلTermالذي يستخدم كلمة محظورة. - الكهرماني: الحقل
Termالذي يستخدم مرادفًا أو كلمة غير مسجلة.
وتأخذ الخلية أعلى مستوياتها. وتظهر العلامات في محرر للقراءة فقط أيضًا، ولا تُلوَّن الورقة Checks نفسها. لمعرفة العلامات على لوحة رسم ERD، راجع العلامات على لوحة الرسم.
ما يرصده كل فحص
Type | المستوى | ما يرصده | Detail، على سبيل المثال |
|---|---|---|---|
Duplicate name | خطأ | قيمة في Word أو Term أو Domain يحملها أيضًا صف آخر في الورقة نفسها. ويُسرد كل صف من هذه الصفوف. | Member |
Unknown domain | خطأ | عمود أو مصطلح لا يزال مرتبطًا بمجال مُزال، ما دامت الورقة Domains تحتوي على مجال | اسم المجال المُزال |
Forbidden word | خطأ | مقطع من اسم منطقي أو من Term تتضمنه كلمة في حقلها Forbidden Words | 커스터머 → 고객 |
Unregistered word | تحذير | مقطع من الاسم المنطقي لجدول أو عمود، أو من Term، لا تتضمنه أي كلمة | 자 |
Synonym | تحذير | مقطع تتضمنه كلمة في حقلها Synonyms | 멤버 → 회원 |
Physical name mismatch | تحذير | جدول أو عمود يطابق اسمه المنطقي مصطلحًا لكن اسمه المادي ليس الاسم الذي يمنحه المصطلح | mbr_no → MBR_NO |
Domain type mismatch | تحذير | عمود لا تطابق قيمة DataType فيه قيمة Data Type للمجال الذي يرتبط به | INT → NUMERIC(15) |
- تُقارن الأسماء بعد حذف المسافات من طرفيها، مع مراعاة حالة الأحرف، لذا فإن
Memberوmemberاسمان مختلفان، ولا يُعدّ الاسم الفارغ مكررًا أبدًا. وترفض الأوراق أي تعديل من شأنه أن يمنح صفين الاسم نفسه، لذا لا يظهرDuplicate nameإلا حيث يتقاطع تعديلان، مثل قيام اثنين من المتعاونين بتسمية صفوف في الوقت نفسه، أو في ملف عُدّل في مكان آخر. - تقرأ فحوصات الكلمات الاسم على النحو الموضح في من الكلمات، وتسرد كل مقطع مختلف مرة واحدة لكل اسم. ويقترح
Forbidden wordوSynonymالكلمة التي تتضمن المقطع. - يقارن
Physical name mismatchالاسم، بعد حذف المسافات من طرفيه، بالحقلPhysical Nameللمصطلح، أو بما تكوّنه كلماته ما دام ذلك الحقل فارغًا، ولا يرصد شيئًا ما دام المصطلح لا يمنح أي اسم. ويظهر هذا الفحص لعمود المفتاح الخارجي الذي نسخ الاسم المنطقي لمفتاحه كلما اختلف اسمه عن اسم المصطلح، مثلmembers_id → MBR_ID. ويصلحهDerive Physical Name Again، إلا إذا كان عمود آخر يحمل ذلك الاسم. - لا ينتج
Domain type mismatchأبدًا عن تعديلات في محرر واحد، لأن العمود المرتبط ينتهي دائمًا إلى نوع مجاله. وقد يظهر حين يربط متعاون عمودًا بمجال بينما يغيّر متعاون آخر نوع ذلك المجال، أو في ملف كُتب في مكان آخر. واختيار المجال مجددًا في خلية المجال للعمود يمنح العمود نوعه، ويفكNoneالربط. والربط بمجال مُزال لا يظهر إلا بوصفهUnknown domain.
العلامات على لوحة الرسم
تكتب لوحة رسم ERD الاسم الذي ترصده الفحوصات بلون فحصه:
- تكون خلية الاسم المنطقي، في رأس الجدول أو في صف العمود، حمراء ما دام اسمها المنطقي يستخدم كلمة محظورة، وإلا فكهرمانية ما دام يستخدم مرادفًا أو كلمة لا تتضمنها الورقة
Words. - تكون خلية الاسم المادي، في الرأس أو في الصف، كهرمانية ما دام المصطلح الذي يطابقه اسمها المنطقي يمنح اسمًا ماديًا آخر.
ولا يُعلَّم إلا هذان النوعان من الخلايا، ولا تُعلَّم خلية المجال أو الخلية DataType أبدًا، لذا لا يظهر Unknown domain وDomain type mismatch الخاصان بالعمود إلا في الورقة Checks.
ولا تُعلَّم الخلية إلا بسبب ما ترسمه: فلا يمكن للعرض Physical Names أن يعلّم إلا الأسماء المادية، ولا للعرض Logical Names إلا الأسماء المنطقية، ويعلّم العرض Both Names كل خلية بحسب فحوصاتها، راجع عرض الأسماء. وتحتفظ الخلية الفارغة بلون نصها النائب، ولا تعلّم القواميس الفارغة شيئًا.
وعلى رأس جدول في مجموعة جداول ملوّنة، لا تحتفظ العلامة بلونها إلا ما دامت مقروءة على لون المجموعة؛ وإلا فيأخذ الاسم لون الرأس نفسه، الأسود أو الأبيض.
وتظهر العلامات على لوحة رسم ERD، وفي السفر عبر الزمن، وفي معاينة التخطيط التلقائي، وفي محرر للقراءة فقط أيضًا. ولا ترسم علامة تبويب التصور المرئي، ولا جانبا عارض الفروق، ولا الصورة المُصدَّرة أيًّا منها.
وتتبع كل تغيير لحظة حدوثه، سواء طرأ على اسم أو على كلمة أو مصطلح أو مجال.
البحث
يحمل حقل البحث النص Search، ويظهر في الأوراق الأربع جميعها، وفي محرر للقراءة فقط أيضًا. ولكل ورقة بحثها الخاص.
ويطابق الصف حين تحتوي إحدى الخلايا التي يُبحث فيها على النص، مع تجاهل حالة الأحرف وتركيب أحرف Unicode والمسافات المحيطة بنص البحث. ولا يمتد التطابق عبر خليتين أبدًا. الخلايا التي يُبحث فيها:
Domains:DomainوData TypeوDescription.Words:WordوAbbreviationوEnglish NameوDescription.Terms:TermوPhysical NameوDescription.Checks: الأعمدة الثلاثة جميعها، كما تظهر بلغة العرض.
والبحث الجديد يضع التحديد على الخلية الأولى ويمرّر إلى الأعلى.
وما دام الحقل يحتوي على نص، يُفرغه زر x نص تلميحه Clear search ويُبقي مؤشر الكتابة في الحقل. ويُفرغه Escape في الحقل أيضًا.
وفي الحقل، يتراجع Ctrl + Z (Windows/Linux) أو ⌘ + Z (Mac) عن كتابتك لا عن الورقة، وتعمل مفاتيح الصفوف الواردة في إضافة الصفوف وحذفها بوصفها مفاتيح نصية.
ويمسح Add Row وعمليات الإدراج البحث أولًا، لأن الصف الفارغ لا يطابق أي بحث. أما الاستيراد فيُبقيه.
التحديد والتنقل
تحدد الشبكة كما يفعل جدول البيانات:
- النقر يحدد خلية، والسحب يحدد نطاقًا، مع التمرير عند حافة الورقة. ويوسّع
Shift + clickالتحديد من الخلية النشطة، ويضيفCtrl + click(Windows/Linux) أو⌘ + click(Mac) نطاقًا آخر. - رأس العمود يحدد عموده، ورقم الصف يحدد صفه، والزاوية العلوية اليسرى تحدد كل الخلايا، كما يفعل
Ctrl + A(Windows/Linux) أو⌘ + A(Mac). - على جهاز Mac، يُعدّ
Ctrl + clickنقرًا بزر الماوس الأيمن، راجع قائمة الشبكة.
باستخدام لوحة المفاتيح:
- تنتقل مفاتيح الأسهم خلية واحدة، ومع الضغط باستمرار على
Ctrl(Windows/Linux) أو⌘(Mac) تنتقل إلى حافة الورقة في ذلك الاتجاه. - ينتقل
HomeوEndإلى الخلية الأولى والأخيرة في الصف، ومع الضغط باستمرار علىCtrlأو⌘إلى الخلية الأولى والأخيرة في الورقة. - ينقل
Page UpوPage Downالتحديد بمقدار شاشة من الصفوف. - الضغط باستمرار على
Shiftمع أي من المفاتيح السابقة يوسّع التحديد بدلًا من ذلك. - ينتقل
TabوShift + Tabإلى اليمين واليسار، وينتقلShift + Enterإلى الأعلى. أماEnterوحده فيحرر الخلية، راجع تحرير الخلايا.
وحين تختفي صفوف من تحت التحديد، بسبب تراجع أو إزالة من متعاون، يُعاد التحديد إلى داخل الصفوف المتبقية.
اسحب الحافة اليمنى لرأس العمود لتغيير حجم العمود، أو انقر نقرًا مزدوجًا على الحافة لملاءمة عرض العمود مع أعرض نص في الصفوف المعروضة. ولا يوجد مفتاح يغيّر حجم العمود.
تحرير الخلايا
الكتابة على الخلية المحددة تستبدل قيمتها. ويحرر Enter أو F2 أو النقر المزدوج القيمة كما هي، مع وضع مؤشر الكتابة في نهايتها.
وتحتوي الخلية على سطر واحد، لذا تصبح علامة الجدولة أو فاصل الأسطر الملصق فيها مسافة.
- يكتب
Enterالتعديل وينتقل إلى الأسفل، ويكتبهTabوينتقل إلى اليمين. ومعShift، ينتقلان إلى الأعلى أو إلى اليسار. - النقر في موضع آخر، أو خروج تركيز لوحة المفاتيح من الشبكة، يكتبه أيضًا.
- يلغيه
Escape.

والتعديل الذي يُبقي القيمة كما كانت لا يكتب شيئًا، والتعديل المكتوب يمثل خطوة تراجع واحدة في ورقته، مهما كان مقدار ما كُتب.
ويُفرغ Delete أو Backspace، دون فتح أي تعديل، كل خلية محددة، في خطوة واحدة.
وما دام التعديل مفتوحًا، تتراجع مفاتيح التراجع والإعادة عن كتابتك في الخلية وتعيدها، وتكتب مفاتيح الصفوف نصًا، راجع لوحة المفاتيح في علامة التبويب.
وكل خلية في Checks، وكل خلية في محرر للقراءة فقط، هي خلية للقراءة فقط لا تفتح أي تعديل.
وحين يُرفض أي صف من تعديل أو لصق أو مسح، لا يُحفظ شيء منه، ويوضح إشعار منبثق بالخطأ السبب، مع عدّ الصفوف وذكر أول ثلاثة منها:
- اسم يحمله صف آخر في الورقة، أو يكتبه صف آخر في اللصق نفسه:
Nothing saved: 1 row shares a name with another row (Member)، أوNothing saved: 2 rows share a name with another row (…). وتُقارن الأسماء بعد حذف المسافات من طرفيها، مع مراعاة حالة الأحرف، لذا يختلفMemberعنmember. ولا يُرفض الاسم الفارغ أبدًا. - الحقل
Domainلمصطلح يُعطى نصًا لا يحمله أي مجال في الورقةDomains:Nothing saved: 1 row names an unknown domain (…). - صف أزاله متعاون أثناء تحريرك له:
Nothing saved: the row was removed.
قد تمتد الكتابة إلى ما هو أبعد من خليتها:
- المصطلح الذي يُعطى قيمة في
Termبينما حقلهPhysical Nameفارغ يحصل على الاسم الذي تكوّنه كلماته، حين تكوّن اسمًا، راجع من الكلمات. ويحدث ذلك مرة واحدة: فلا يُعاد تكوين الاسم حين تتغير الكلمات لاحقًا. - الحقل
Data Typeالجديد للمجال يغيّر نوع كل عمود مرتبط بالمجال، في خطوة التراجع نفسها، راجع المجالات وأنواع البيانات.
مجال المصطلح
يفتح Enter أو F2 أو النقر المزدوج على الخلية Domain لمصطلح قائمة أسفل الخلية، أو فوقها حيث تتوفر مساحة أكبر، مع حقل بحث يحمل النص Domain.
وتحتوي القائمة على None، ثم كل مجال مسمّى بترتيب الورقة Domains، ويبدأ الإبراز على المجال الذي يرتبط به المصطلح، أو على None. وكتابة حرف على الخلية تفتح القائمة وقد بُحث فيها عنه مسبقًا.
- الكتابة تحصر القائمة في المجالات التي تحتوي أسماؤها على النص، دون مراعاة حالة الأحرف، وتُسقط
None، وتُبرز أول تطابق. - ينقل
↑و↓الإبراز، مع الالتفاف عند الطرفين. - يختار
EnterأوTabالصف المُبرَز، ويختار النقر الصف الذي نُقر عليه، في خطوة تراجع واحدة. ويرتبط المصطلح بالمجال المختار نفسه، حتى لو كان أحد مجالين يحملان الاسم نفسه، ويفكNoneربطه. - يؤدي
Escapeأو النقر خارج القائمة إلى إغلاقها دون كتابة شيء مما كتبته.
وحين لا يوجد مجال مسمّى في الورقة Domains، يُفتح الحقل دون قائمة.
والنص الملصق يربط المصطلح بأول مجال مُدرج بذلك الاسم، والنص الفارغ يفك الربط، والنص المطابق لما تعرضه الخلية يُبقي الربط كما هو. ويُرفض أي اسم آخر، راجع تحرير الخلايا. ويفك Delete أو Backspace على الخلية ربط المصطلح، حتى بمجال مُزال.
النسخ واللصق
ينسخ Ctrl + C (Windows/Linux) أو ⌘ + C (Mac) التحديد في صورة نص مفصول بعلامات الجدولة، سطرًا لكل صف، على النحو الذي تكتبه به جداول البيانات، فيُلصق في جدول بيانات في صورة خلايا. وتصبح علامة الجدولة أو فاصل الأسطر داخل القيمة مسافة.
ولا تُنسخ عدة نطاقات معًا إلا حين تشمل الصفوف نفسها، جنبًا إلى جنب، أو الأعمدة نفسها، بعضها فوق بعض. وإلا فلا يُنسخ شيء، ويظهر الإشعار المنبثق بالخطأ Nothing copied: the ranges share no rows or columns.
يلصق Ctrl + V (Windows/Linux) أو ⌘ + V (Mac) النص المفصول بعلامات الجدولة، مثل الخلايا المنسوخة من جدول بيانات، بدءًا من الخلية النشطة نحو الأسفل وإلى اليمين:
- تُلصق علامات الاقتباس بوصفها نصًا، لذا لا تُلصق خلية جدول البيانات التي تحتوي على فاصل أسطر بوصفها خلية واحدة.
- القيمة المفردة تملأ كل نطاق محدد.
- تُضاف الصفوف التي تتجاوز الصف الأخير صفوفًا جديدة، بالترتيب، لذا يملأ اللصق في ورقة فارغة تلك الورقة.
- تُستبعد الأعمدة التي تتجاوز العمود الأخير، وبعد حفظ الباقي يشير إلى ذلك الإشعار المنبثق
Columns past the last one weren't pasted. - ثم يحدد لصق عدة خلايا الكتلة التي كتبها.
ويمثل اللصق خطوة تراجع واحدة، بما في ذلك الصفوف التي يضيفها، ويُرفض بأكمله بسبب اسم مكرر أو مجال غير معروف، راجع تحرير الخلايا.
والنسخ أو اللصق أو المسح على أكثر من مليون خلية لا يفعل شيئًا، ويظهر الإشعار المنبثق بالخطأ Nothing done: the selection covers too many cells.
والقص، Ctrl + X (Windows/Linux) أو ⌘ + X (Mac)، لا يفعل شيئًا في الورقة. ولا يصل النسخ واللصق في علامة التبويب هذه إلى المخطط أبدًا، وما دام تعديل خلية مفتوحًا فإنهما يعملان على النص الموجود في الخلية.
إضافة الصفوف وحذفها
يضيف Add Row صفًا فارغًا واحدًا في نهاية الورقة. ويمسح البحث، ويحدد الخلية الأولى في الصف الجديد، ويمنح الشبكة تركيز لوحة المفاتيح، فتملأ الكتابة تلك الخلية.
ويزيل Delete Rows كل صف يشمله التحديد، في أي عمود، وتراجع واحد يعيدها جميعًا إلى أماكنها. ويذكر نص تلميحه المفتاح الذي يؤدي الأمر نفسه.
حين يكون تركيز لوحة المفاتيح في الشبكة ولا تُحرَّر أي خلية:
- يُدرج
Alt + Enter(Windows/Linux) أو⌥ + Enter(Mac) أسفل التحديد صفوفًا فارغة بعدد الصفوف التي يشملها. - يُدرجها
Alt + Shift + Enter(Windows/Linux) أو⌥ + Shift + Enter(Mac) في الأعلى. - يحذف
Alt + BackspaceأوAlt + Delete(Windows/Linux)، أو⌥ + Backspaceأو⌥ + Delete(Mac)، الصفوف التي يشملها التحديد.
وتؤدي ما تؤديه عناصر الإدراج وحذف الصفوف في قائمة الشبكة، راجع قائمة الشبكة. ويمسح الإدراج البحث ويضع الصفوف الجديدة مباشرة فوق أول صف يشمله التحديد، أو مباشرة تحت آخر صف. ويحددها في العمود الأول، مع جعل أولها نشطًا، ويمثل خطوة تراجع واحدة.
هذه المفاتيح هي اختصارات لوحة المفاتيح Add Column وRemove Column في علامة تبويب الاختصارات، لذا فإن المضيف الذي يعيد تعيينها باستخدام الدالة setKeyBindingMap ينقلها أيضًا. وAlt + Shift + Enter هو مفتاح Add Column مع إضافة Shift، وليس له صف خاص به هناك.
وفي التعديل المفتوح وفي حقل البحث تعمل بوصفها مفاتيح نصية، لذا يحذف ⌥ + Backspace كلمة على جهاز Mac. ولا تفعل شيئًا في Checks ولا في محرر للقراءة فقط. ولا تضيف أبدًا في علامة التبويب هذه عمودًا إلى جدول ولا تزيله منه.
وفي Obsidian تصل إلى علامة التبويب حتى حيث يستخدم اختصار Obsidian المفتاح نفسه.
والصف الذي لم يُملأ قط، أو الذي أُفرغ من كل قيمه، يظهر في ورقته ويصل إلى المتعاونين، لكن الملف يستبعده، لذا يختفي عند فتح المخطط مجددًا.
قائمة الشبكة
انقر بزر الماوس الأيمن على خلية في Domains أو Words أو Terms لفتح قائمة الشبكة. والخلية التي تقع خارج التحديد تصبح هي التحديد أولًا.
والنقر بزر الماوس الأيمن أسفل الصف الأخير أو يمين العمود الأخير يفتحها على التحديد كما هو، لذا تُفتح في الورقة الفارغة من أي موضع أسفل رؤوس الأعمدة. ويفتحها مفتاح القائمة أو Shift + F10 للخلية النشطة.
Insert 1 row aboveوInsert 1 row belowوDelete 1 row، ويعدّ كل منها الصفوف التي يشملها التحديد، كما فيInsert 3 rows above، مع مفتاحه على اليمين، راجع إضافة الصفوف وحذفها.Sort by <column>, ascendingوSort by <column>, descending، ويذكران العمود الذي نقرت عليه بزر الماوس الأيمن، كما فيSort by Word, ascending، راجع الفرز. ولا يظهران يمين العمود الأخير.Import CSVوExport CSV، اللذان يؤديان ما يؤديه زرّا الشريط، راجع استيراد ملفات CSV وتصديرها.
وحين لا يظهر أي صف، في ورقة فارغة أو مع بحث لا يطابق شيئًا، لا يظهر إلا Insert 1 row below وImport CSV وExport CSV.
وتفتح الورقة Checks والمحرر للقراءة فقط قائمة المتصفح الخاصة بدلًا منها، وكذلك يفعل النقر بزر الماوس الأيمن على رأس أو شريط تمرير.
وتُغلق القائمة عند اختيار عنصر، وعند Escape، وعند الضغط في موضع آخر من علامة التبويب، وحين يتغير التحديد أو الورقة، وحين تتغير صفوف الورقة، بتعديل منك أو من متعاون.
الفرز
يعيد Sort by <column>, ascending وSort by <column>, descending ترتيب صفوف الورقة نفسها، لا طريقة عرضها فقط. ويُحفظ الترتيب الجديد في الملف، ويراه المتعاونون، ويتبعه Export CSV، وتراجع واحد يعيد الترتيب القديم.
وتُقارن الصفوف بحسب النص الذي تعرضه الخلية، والحقل Domain للمصطلح بحسب اسم المجال، وفق الترتيب الأبجدي للغة العرض، مع مقارنة الأرقام بحسب قيمتها، لذا يأتي 2 قبل 10. وتأتي الخلايا الفارغة في النهاية في كلا الاتجاهين، وتحتفظ الصفوف المتساوية في المقارنة بترتيبها. وفرز ورقة مرتبة بالفعل بذلك الترتيب لا يسجّل شيئًا.
ويبقى البحث كما كان، وكذلك التحديد، الذي تحتوي خلاياه الآن على صفوف أخرى.
استيراد ملفات CSV وتصديرها
تُستورد كل من Domains وWords وTerms من ملف CSV وتُصدَّر إلى ملف CSV. وهذه الملفات خاصة بعلامة تبويب القاموس: فلا يقرؤها Import وExport في قائمة السياق للوحة الرسم ولا يكتبانها، راجع استيراد الملفات وتصديرها.
الاستيراد
يفتح Import CSV، في الشريط أو في قائمة الشبكة، منتقي الملفات الخاص بالمتصفح لملفات .csv، لا مربع حوار الاستيراد الخاص بالمضيف. واختيار الملف نفسه مرة أخرى يستورده مرة أخرى.
ويدخل الملف إلى القاموس الذي يحدده سطر عناوينه، أيًّا كانت الورقة المعروضة، ثم تعرض علامة التبويب تلك الورقة وتمنح شبكتها تركيز لوحة المفاتيح. وتحتفظ الورقة ببحثها وتحديدها وموضع تمريرها، لذا تبقى الصفوف التي يخفيها البحث، أو الصفوف المضافة أسفل المنطقة المعروضة، بعيدة عن الأنظار.
ويُقرأ الملف بترميز UTF-8، مع علامة ترتيب البايتات أو بدونها، أو بترميز EUC-KR حين لا يكون ملف UTF-8 صالحًا، كما هو حال ملفات معيار البيانات العامة الأقدم.

ما يحدث للصفوف:
- كل صف له اسم يحدّث صف الورقة الذي يحمل ذلك الاسم، في الحقول التي يحتوي الملف على أعمدة لها. والأعمدة التي يفتقر إليها الملف تترك تلك الحقول كما هي. وتُقارن الأسماء بعد حذف المسافات من طرفيها، مع مراعاة حالة الأحرف.
- الأسماء التي تفتقر إليها الورقة تُضاف بعد صفها الأخير، بترتيب الملف.
- لا يزيل الاستيراد أي صف أبدًا.
- يُتخطى الصف ذو الاسم الفارغ. وحين يحتوي الملف على اسم مرتين، يُعتمد الصف اللاحق ويُعدّ السابق متخطًّى. والأسطر الفارغة ليست صفوفًا.
- يُعثر على مجال المصطلح باسمه، أي أول مجال يحمل ذلك الاسم، والاسم الذي لا يحمله أي مجال يترك المصطلح غير مرتبط بأي مجال، لذا استورد المجالات أولًا.
والاستيراد الواحد يمثل خطوة تراجع واحدة في تلك الورقة.
ثم يظهر إشعار منبثق نصه، على سبيل المثال، 1 added · 1 updated · 2 skipped. والصف المطابق لصف الورقة لا يُعدّ مضافًا ولا محدَّثًا، لذا فإن استيراد الملف نفسه مرة أخرى لا يغيّر شيئًا ولا يسجّل أي خطوة.
وما دامت مصطلحات الملف تذكر مجالات يفتقر إليها المخطط، يذكر سطر ثانٍ أول ثلاثة منها، كما في 4 unknown domains: 연월일, 금액, 번호.
والملف الذي لا يطابق سطر عناوينه أي بنية، أو يطابق بنيتين، لا يجلب شيئًا، ويظهر الإشعار المنبثق بالخطأ Couldn't read this file as words, terms or domains.
بنية الملفات
يقرأ كل قاموس بنيتين. الأولى هي بنية المحرر الخاصة، التي يكتبها Export CSV، وسطر عناوينها أسماء الحقول:
| القاموس | سطر العناوين | ما يلزم الملف |
|---|---|---|
| Words | name,abbreviation,englishName,description,synonyms,forbiddenWords | name, abbreviation |
| Terms | name,physicalName,domain,description,synonyms | name, physicalName |
| Domains | name,category,dataType,description | name, dataType |
يمكن أن تأتي الأعمدة بأي ترتيب، ويحمل العمود domain للمصطلح اسم المجال، ويُتجاهل أي عمود آخر. وتُراعى حالة الأحرف في سطر العناوين، وتُقرأ الخلايا كما كُتبت تمامًا، بما في ذلك المسافات.
والثانية هي بنية ملفات معيار البيانات العامة الكوري (공통표준):
| القاموس | ما يلزم الملف | يُقرأ أيضًا |
|---|---|---|
| Words | 공통표준단어명 | 공통표준단어영문약어명 (الاختصار)، 공통표준단어 영문명 (الاسم الإنجليزي)، 공통표준단어 설명 (الوصف)، 이음동의어 목록 (المرادفات)، 금칙어 목록 (الكلمات المحظورة) |
| Terms | 공통표준용어명 | 공통표준용어영문약어명 (الاسم المادي)، 공통표준도메인명 (المجال، باسمه)، 공통표준용어설명 (الوصف)، 용어 이음동의어 목록 (المرادفات) |
| Domains | 공통표준도메인명, 데이터타입 | 공통표준도메인분류명 (التصنيف)، 공통표준도메인설명 (الوصف)، 데이터길이، 데이터소수점길이 |
وتندمج الأعمدة 데이터타입 و데이터길이 و데이터소수점길이 للمجال في نوع بيانات واحد: NUMERIC(15,2)، وCHAR(8)، والنوع وحده حيث لا يوجد طول، مثل DATE، مع حذف عدد المنازل العشرية إذا كان 0، كما في NUMERIC(15).
وفي هذه الملفات تُحذف المسافات من طرفي الخلايا، وتُتجاهل الأعمدة الأخرى، مثل سجل المراجعات.
وفي كلتا البنيتين، لا أهمية للمسافات في اسم العمود ضمن سطر العناوين.
التصدير
يحفظ Export CSV، في الشريط أو في قائمة الشبكة، الورقة المعروضة ببنية المحرر الخاصة: كل صف بترتيب الورقة، أيًّا كان ما يعرضه البحث، مع كتابة مجال المصطلح باسمه، أو تركه فارغًا إذا كان المجال مُزالًا.
ويكون الملف بترميز UTF-8 مع علامة ترتيب البايتات ونهايات أسطر CRLF، ولا يُحاط بعلامات الاقتباس إلا الحقل الذي يحتوي على علامة اقتباس أو فاصلة أو فاصل أسطر. ويُفتح في جدول بيانات ويُستورد مجددًا إلى الصفوف نفسها.
ويُسمّى <database name>-<timestamp>-words.csv أو -terms.csv أو -domains.csv، ويُحفظ بالطريقة التي تُحفظ بها عمليات التصدير الأخرى في المحرر، راجع التصدير.
ولا يوجد تصدير للورقة Checks، ولا يتيح المحرر للقراءة فقط أي استيراد أو تصدير.
التراجع والإعادة
تحتفظ كل من Domains وWords وTerms بسجل تراجع خاص بها، منفصل عن سجل المخطط. وفي علامة التبويب هذه، يعمل Ctrl + Z وCtrl + Shift + Z (Windows/Linux) أو ⌘ + Z و⌘ + Shift + Z (Mac)، والزران Undo وRedo في شريط الأدوات، على الورقة المعروضة، ولا يعرض شريط الأدوات Time Travel. ولا تفعل شيئًا في Checks.
ولا يلغي التراجع في علامة تبويب ERD أبدًا تعديلًا في ورقة، راجع أوراق القاموس.
لوحة المفاتيح في علامة التبويب
ما دام تركيز لوحة المفاتيح في علامة التبويب، تعمل اختصارات المحرر التالية، راجع الاختصارات:
Search، أيCtrl + K(Windows/Linux) أو⌘ + K(Mac)، يفتح البحث السريع.Toggle Explorer، أيCtrl + F(Windows/Linux) أو⌘ + F(Mac)، ينتقل إلى علامة تبويب ERD ويفتح المستكشف على حقل البحث فيه.- يعمل
UndoوRedoعلى الورقة المعروضة، راجع التراجع والإعادة. - يُدرج
Add ColumnوRemove Columnالصفوف ويحذفانها، راجع إضافة الصفوف وحذفها.
وما دام تعديل خلية مفتوحًا، بما في ذلك قائمة مجالات المصطلح، لا يفعل Search وToggle Explorer شيئًا، فلا يضيع النص المكتوب.
وكل اختصار آخر للمحرر يبقى داخل علامة التبويب ولا يصل إلى لوحة الرسم أبدًا: فلا يضيف Alt + N (Windows/Linux) أو ⌥ + N (Mac) أي جدول، ولا يحذف Delete وBackspace أي شيء على لوحة الرسم.
وبدلًا من ذلك تعمل مفاتيح الشبكة الخاصة على الورقة: يحرر Enter الخلية، ويمسح Delete وBackspace الخلايا المحددة، ويحدد Ctrl + A (Windows/Linux) أو ⌘ + A (Mac) كل الخلايا، ويلغي Escape التعديل أو يغلق قائمة الشبكة أو يُفرغ حقل البحث. ويبقى النسخ والقص واللصق داخل علامة التبويب أيضًا، راجع النسخ واللصق.
وضع القراءة فقط
في محرر بالسمة readonly، تُفتح علامة التبويب وتعرض كل الأوراق.
ويعمل التبديل بين الأوراق والبحث والتحديد والتمرير وتغيير حجم الأعمدة والنسخ كالمعتاد، وكذلك الانتقال إلى فحص من Checks باستخدام Enter أو النقر المزدوج. وتظهر علامات الفحوصات أيضًا.
ولا تقبل أي خلية تحريرًا أو لصقًا أو مسحًا، وتُرسم كل خلية لا يعلّمها فحص على الخلفية الرمادية للقراءة فقط.
وتُخفى الأزرار Add Row وDelete Rows وImport CSV وExport CSV، ولا تفعل مفاتيح الصفوف شيئًا، ويفتح النقر بزر الماوس الأيمن قائمة المتصفح. ولا تعرض الورقة الفارغة أي نص إرشادي، ولا يعرض شريط الأدوات Undo أو Redo.
المتعاونون والملف
يحتوي ملف المخطط على الكلمات والمصطلحات والمجالات بترتيب أوراقها، بما في ذلك ترتيب الفرز، ويستبعد الصف الذي لا يحتوي على أي قيمة.
ويحتوي أيضًا على الاسم المنطقي لكل جدول وعمود، وعلى ما إذا كان كل اسم مادي تابعًا للقواميس، وعلى ربط كل عمود بالمجال ما دام المجال مُدرجًا. أما الفحوصات والعلامات فتُحسب من هذه البيانات ولا تُحفظ أبدًا.
وفي جلسة تعاونية، يرى كل محرر تعديلات القاموس الواردة من المحررات الأخرى لحظة وصولها، بما في ذلك عمليات الفرز والإدراج. ويحتفظ كل محرر بورقته وبحثه وتحديده، ولا تحتوي سجلات أوراقه إلا على تعديلاته هو.
والتعديل أو اللصق على صف أزاله متعاون في الأثناء لا يحفظ شيئًا، ويظهر الإشعار المنبثق Nothing saved: the row was removed.
والمحرر من إصدار سبق علامة تبويب القاموس يحفظ المخطط دون أسمائه المنطقية وروابط المجالات وقواميسه، راجع الجمع بين إصدارات مختلفة.
ويحتفظ Import من مخطط SQL أو GraphQL أو DBML أو AML بالقواميس، ويستبدلها Import من JSON بقواميس الملف، ولا يجلب Import and Add أيًّا منها، راجع استيراد ملفات خارجية.
ويحرر وكيل البرمجة الكلمات والمصطلحات والمجالات، ويعيّن الأسماء المنطقية والمجالات، ويعيد اشتقاق الأسماء المادية، ويسرد الفحوصات عبر خادم MCP، راجع القواميس وفحوصات القاموس. ولا توجد لديه أداة لملفات CSV.