استخراج نمودارهای
Download
1 / 19

استخراج نمودارهای ER از پایگاه های داده سنتی مبتنی بر جدول - PowerPoint PPT Presentation


  • 167 Views
  • Uploaded on

استخراج نمودارهای ER از پایگاه های داده سنتی مبتنی بر جدول. سید حامد حسینی نژاد 810187587 زمستان 88. مقدمه. تعریف مهندسی معکوس: فرآیند تحلیل سیستم به منظور مشخص کردن اجزای سیستم و روابط داخلی بین آنها برای توصیف سیستم در سطح بالاتر [3] تعریف مهندسی معکوس پایگاه داده:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' استخراج نمودارهای ER از پایگاه های داده سنتی مبتنی بر جدول' - katelyn-vaughan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

استخراج نمودارهای ER از پایگاههای داده سنتی مبتنی بر جدول

سید حامد حسینی نژاد

810187587

زمستان 88


مقدمه

  • تعریف مهندسی معکوس:

    • فرآیند تحلیل سیستم به منظور مشخص کردن اجزای سیستم و روابط داخلی بین آنها برای توصیف سیستم در سطح بالاتر[3]

  • تعریف مهندسی معکوس پایگاه داده:

    • فرآیند استخراج داده های منطقی و مفهومی از یک مجموعه داده ذخیره شده در قالب مشی پایگاهی یا مشی فایلی، از اطلاعاتی چون کدهای DDL، داده های دیکشنری، سطرهای ذخیره شده و متن برنامه مرتبط با اطلاعات ذخیره شده [2]


صورت مسئله

  • همواره تصور میشود که اطلاعات معنایی مرتبط با صفات، کلیدهای اصلی و خارجی به طور کامل در دسترسند. در حالیکه لزوما اینگونه نیست.

  • در این مقاله روشی برای استخراج نمودار ER از پایگاه داده مبتنی بر جدول مطرح میشود.

  • از ستون ها اطلاعات کمی در دست است و از کلیدها اطلاعاتی در دست نیست.

  • ورودی های اصلی مسئله: شما و سطرهای جداول


مراحل کلی کار

  • تحلیل کدها و داده های مرتبط

    • مقایسه فیلدها

    • تجزیه فیلدها

    • استخراج صفات معنایی از جداول و شماها

    • تشخیص کلیدهای اصلی، کلیدهای خارجی و محدودیت ها

  • استخراج نمودار ER از طریق ترکیب جداول و یافتن روابط بین آنها


فرم

  • یک مجموعه ساختار یافته از متغیرها

  • دارای فرمت مناسب برای ارتباط با پایگاه داده

  • کاربرد در بازیابی و نمایش داده ها

  • ایجاد از طریق کار با خروجی برنامه های کاربردی مرتبط با سیستم


لیست مراحل کار

  • 1- آماده سازی پروژه

  • 2- استخراج ساختار داده ها

  • 3- مفهوم سازی ساختار داده ها


آماده سازی پروژه

  • مرحله جمع آوری و طبقه بندی توضیحات و مشخصات مرتبط با داده های موجود در پایگاه داده

  • با استفاده از DDL ها، ساختار برنامه ی مرتبط با پایگاه داده و ...

  • این کار در قالب ساختن مجموعه ای از فرم ها صورت میگیرد.

  • هر فرم مجموعه ای از مشخصات مرتبط با هم دارد.

  • در نهایت، مجموعه ی فیلدهای فرم ها و فیلدهای پایگاه داده و داده های موجود در پایگاه داده، طی یک فرآیند وارد یک پایگاه داده SQL Server میشوند.


آماده سازی پروژه (ادامه)

  • در پایگاه داده SQL Server، چهار جدول جدید ساخته میشود تا عمل انتقال داده ها به این جداول صورت بگیرد.

  • جداول

    • Entity: اطلاعات مرتبط با فرم ها

    • Attribute: اطلاعات مرتبط با فیلدهای فرم ها

    • TableSchema: اطلاعات مرتبط با جداول موجود در پایگاه داده

    • FieldSchema: اطلاعات مرتبط با فیلدهای جداول موجود


آماده سازی پروژه (ادامه)

  • Create table Entity

    (

    EntityNo int identity (1,1),

     EntityName varchar (20),

    primary key (EntityNo),

    )


آماده سازی پروژه (ادامه)

  • Create table Attribute

    (

     EntityNo int,

     AttributeNo int,

     AttributeName varchar(20),

    primary key (EntityNo, AttributeNo),

    )


آماده سازی پروژه (ادامه)

  • Create table TableSchema

    (

     TableName varchar (20),

     Meaning varchar (30),

     primary key (TableName)

    )


آماده سازی پروژه (ادامه)

  • Create table FieldSchema

    (

    TableNamevarchar(20),

    FieldNamevarchar(20),

     meaning varchar(30),

     Data varchar(100),

     primary key (TableName, FieldName)

    )


استخراج ساختار داده

  • شامل سه مرحله است:

    • استخراج صفات

    • استخراج کلید

    • استخراج محدودیت


استخراج صفات

  • مقایسه صفات موجود در فرم ها با صفات موجود در جداول به منظور به دست آوردن معنای اصلی صفت (ممکن است با نام صفت متفاوت باشد.

  • قانون اصلی:

  • Let an unique value, v, is inputted in a display form under the caption, c, and there exists a table, t, which contains v under a field, f, that is, vЄΠf(t), then the meaning of the field f is the same as the meaning of the caption c.

  • مشکل فیلدهایی که شامل چند صفت اند؟


استخراج کلید

  • در پایگاه های داده قدیمی، مفهوم کلیدهای کاندیدا، اصلی و خارجی به طور ضمنی (و نه صریح) آمده اند.

  • راه حل: استفاده از فایل های ایندکس

  • فایل ایندکس: به کار رفته برای تسریع جستجو


استخراج کلید (ادامه)

  • ایده:

    اگر تعداد سطرهای فایل ایندکس با تعداد سطرهای جدول مرتبط با فایل ایندکس برابر باشد، فیلدهایی که روی آن ایندکس زده شده، به عنوان کلید کاندیدا در نظر گرفته میشود.

  • اگر چند کلید کاندیدا موجود باشد، ایندکسی که کمترین تعداد فیلد را دارد، به عنوان کلید اصلی در نظر گرفته میشود.

  • کلیدهای اصلی هر جدول در بقیه جداول چک میشوند تا کلیدهای خارجی پیدا شوند.


استخراج محدودیت

  • هدف اصلی: استخراج چندی رابطه های بین جداول

  • Query ارائه شده:

  • Select count(*) from

    (

    select s.A

    from TA s

    join TB n on s.A = n.B

    )


استخراج مفهوم

  • هدف تشخیص موجودیت ها و ارتباط بین آنها

    • شبیه تبدیل رابطه شیئ گرا به پایگاه داده رابطه ای

  • چند نمونه ی اصلی:

    • تقسیم عمودی: تبدیل فیلد چند متغیره به یک جدول جدید

    • تقسیم افقی: تشکیل رابطه های Generalization و ...

    • تبدیل رابطه ی چند به چند به یک جدول جدید

    • ...


منابع

  • [1] D. Yeh, Y. Li, and W. Chu, "Extracting entity-relationship diagram from a table-based legacy database," Journal of Systems and Software, vol. 81, 2008, pp. 764-775.

  • [2] [Online] http://wiki.ercim.eu/wg/Software -Evolution/index.php/Terminology#D

  • [3] [Online] http://wiki.ercim.eu/wg/Software -Evolution/index.php/Terminology#R

  • [4] S. Strobl, M. Bernhart, T. Grechenig, W. Kleinert, and I.T. Services, "Digging Deep: Software Reengineering Supported by Database Reverse Engineering of a System with 30+ Years of Legacy," Reverse Engineering, 2009, pp. 407-410.


ad