slide1 n.
Download
Skip this Video
Download Presentation
استخراج نمودارهای ER از پایگاه های داده سنتی مبتنی بر جدول

Loading in 2 Seconds...

play fullscreen
1 / 19

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


  • 168 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


Download Now 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
slide1

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

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

810187587

زمستان 88

slide2
مقدمه
  • تعریف مهندسی معکوس:
    • فرآیند تحلیل سیستم به منظور مشخص کردن اجزای سیستم و روابط داخلی بین آنها برای توصیف سیستم در سطح بالاتر[3]
  • تعریف مهندسی معکوس پایگاه داده:
    • فرآیند استخراج داده های منطقی و مفهومی از یک مجموعه داده ذخیره شده در قالب مشی پایگاهی یا مشی فایلی، از اطلاعاتی چون کدهای DDL، داده های دیکشنری، سطرهای ذخیره شده و متن برنامه مرتبط با اطلاعات ذخیره شده [2]
slide3
صورت مسئله
  • همواره تصور میشود که اطلاعات معنایی مرتبط با صفات، کلیدهای اصلی و خارجی به طور کامل در دسترسند. در حالیکه لزوما اینگونه نیست.
  • در این مقاله روشی برای استخراج نمودار ER از پایگاه داده مبتنی بر جدول مطرح میشود.
  • از ستون ها اطلاعات کمی در دست است و از کلیدها اطلاعاتی در دست نیست.
  • ورودی های اصلی مسئله: شما و سطرهای جداول
slide4
مراحل کلی کار
  • تحلیل کدها و داده های مرتبط
    • مقایسه فیلدها
    • تجزیه فیلدها
    • استخراج صفات معنایی از جداول و شماها
    • تشخیص کلیدهای اصلی، کلیدهای خارجی و محدودیت ها
  • استخراج نمودار ER از طریق ترکیب جداول و یافتن روابط بین آنها
slide5
فرم
  • یک مجموعه ساختار یافته از متغیرها
  • دارای فرمت مناسب برای ارتباط با پایگاه داده
  • کاربرد در بازیابی و نمایش داده ها
  • ایجاد از طریق کار با خروجی برنامه های کاربردی مرتبط با سیستم
slide6
لیست مراحل کار
  • 1- آماده سازی پروژه
  • 2- استخراج ساختار داده ها
  • 3- مفهوم سازی ساختار داده ها
slide7
آماده سازی پروژه
  • مرحله جمع آوری و طبقه بندی توضیحات و مشخصات مرتبط با داده های موجود در پایگاه داده
  • با استفاده از DDL ها، ساختار برنامه ی مرتبط با پایگاه داده و ...
  • این کار در قالب ساختن مجموعه ای از فرم ها صورت میگیرد.
  • هر فرم مجموعه ای از مشخصات مرتبط با هم دارد.
  • در نهایت، مجموعه ی فیلدهای فرم ها و فیلدهای پایگاه داده و داده های موجود در پایگاه داده، طی یک فرآیند وارد یک پایگاه داده SQL Server میشوند.
slide8
آماده سازی پروژه (ادامه)
  • در پایگاه داده SQL Server، چهار جدول جدید ساخته میشود تا عمل انتقال داده ها به این جداول صورت بگیرد.
  • جداول
    • Entity: اطلاعات مرتبط با فرم ها
    • Attribute: اطلاعات مرتبط با فیلدهای فرم ها
    • TableSchema: اطلاعات مرتبط با جداول موجود در پایگاه داده
    • FieldSchema: اطلاعات مرتبط با فیلدهای جداول موجود
slide9
آماده سازی پروژه (ادامه)
  • Create table Entity

(

EntityNo int identity (1,1),

 EntityName varchar (20),

primary key (EntityNo),

)

slide10
آماده سازی پروژه (ادامه)
  • Create table Attribute

(

 EntityNo int,

 AttributeNo int,

 AttributeName varchar(20),

primary key (EntityNo, AttributeNo),

)

slide11
آماده سازی پروژه (ادامه)
  • Create table TableSchema

(

 TableName varchar (20),

 Meaning varchar (30),

 primary key (TableName)

)

slide12
آماده سازی پروژه (ادامه)
  • Create table FieldSchema

(

TableNamevarchar(20),

FieldNamevarchar(20),

 meaning varchar(30),

 Data varchar(100),

 primary key (TableName, FieldName)

)

slide13
استخراج ساختار داده
  • شامل سه مرحله است:
    • استخراج صفات
    • استخراج کلید
    • استخراج محدودیت
slide14
استخراج صفات
  • مقایسه صفات موجود در فرم ها با صفات موجود در جداول به منظور به دست آوردن معنای اصلی صفت (ممکن است با نام صفت متفاوت باشد.
  • قانون اصلی:
  • 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.
  • مشکل فیلدهایی که شامل چند صفت اند؟
slide15
استخراج کلید
  • در پایگاه های داده قدیمی، مفهوم کلیدهای کاندیدا، اصلی و خارجی به طور ضمنی (و نه صریح) آمده اند.
  • راه حل: استفاده از فایل های ایندکس
  • فایل ایندکس: به کار رفته برای تسریع جستجو
slide16
استخراج کلید (ادامه)
  • ایده:

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

  • اگر چند کلید کاندیدا موجود باشد، ایندکسی که کمترین تعداد فیلد را دارد، به عنوان کلید اصلی در نظر گرفته میشود.
  • کلیدهای اصلی هر جدول در بقیه جداول چک میشوند تا کلیدهای خارجی پیدا شوند.
slide17
استخراج محدودیت
  • هدف اصلی: استخراج چندی رابطه های بین جداول
  • Query ارائه شده:
  • Select count(*) from

(

select s.A

from TA s

join TB n on s.A = n.B

)

slide18
استخراج مفهوم
  • هدف تشخیص موجودیت ها و ارتباط بین آنها
    • شبیه تبدیل رابطه شیئ گرا به پایگاه داده رابطه ای
  • چند نمونه ی اصلی:
    • تقسیم عمودی: تبدیل فیلد چند متغیره به یک جدول جدید
    • تقسیم افقی: تشکیل رابطه های Generalization و ...
    • تبدیل رابطه ی چند به چند به یک جدول جدید
    • ...
slide19
منابع
  • [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.