1 / 20

بررسی وابستگی‎های تابعی در فايل‎های اکس‎ام‎ال

بررسی وابستگی‎های تابعی در فايل‎های اکس‎ام‎ال. حسين حجت دانشکده فنی دانشگاه تهران. گزارش‎های درس. گزارش اول: بررسی سيستم ترميم گزارش دوم: وابستگی‎های تابعی در فايل‎های اکس‎ام‎ال گزارش نهايي و مقاله‎ی درس: بررسی پروتکل‎های مبتنی برگراف در تراکنش‎ها نگرش صوری ( formal methods ).

Download Presentation

بررسی وابستگی‎های تابعی در فايل‎های اکس‎ام‎ال

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. بررسی وابستگی‎های تابعی در فايل‎های اکس‎ام‎ال حسين حجت دانشکده فنی دانشگاه تهران

  2. گزارش‎های درس • گزارش اول: بررسی سيستم ترميم • گزارش دوم: وابستگی‎های تابعی در فايل‎های اکس‎ام‎ال • گزارش نهايي و مقاله‎ی درس: بررسی پروتکل‎های مبتنی برگراف در تراکنش‎ها • نگرش صوری (formal methods)

  3. منابع و مراجع • [1] Arenas M., Libkin L., “A normal form for XML documents”, ACM Symposium on Principles of Database Systems, pp. 85 – 96, 2002 . • [2] Arenas M., Libkin L., “A normal form for XML documents”, ACM Transactions on Database Systems (TODS), v. 29, n. 1, pp. 195 – 232, 2004. • [3] Bray T., Paoli J., SpengerMcQueen C., “Extensible Markup language (XML) 1.0”, W3C Recommendation • [4] COMP 442: Issues in Database and Information Systems 2005, University of Victoria • [5] Lee M., Ling T. W., Low W. L., “Designing Functional Dependencies for XML”, 8th International Conference on Extending Database Technology: Advances in Database Technology, pp. 124 – 141, 2002. • [6] Vincent M. W., Liu J., Liu C., “Strong functional dependencies and their application to normal forms in XML”, ACM Transactions on Database Systems (TODS), v. 29 , n. 3, pp. 445 – 462, 2004.

  4. محدوديت‎های معنايي • فايل‎های اکس‎ام‎ال دارای قابليت‎های نحوی ( syntax) فراوان هستند • در عوض خواص معنايي آنها ناچيز است • پژوهش‎‎هايي بر روی قسمت مفهومی اکس‎ام‎ال انجام شده است • محدوديت‎های کليدی اکس‎ام‎ال (key constraints) • محدوديت‎های مسيری (path constraints) • محدوديت‎های شمول اکس‎ام‎ال (inclusion constraints)

  5. وابستگی‎های تابعی: کاربردی يا تئوری • وابستگی‎های تابعی تنها از نقطه‎نظر تئوری دارای اهميت نيستند • وابستگی‎های تابعی و فرآيند نرمال‎سازی در پايگاه‎داده‎های رابطه‎ای نقش اساسی در طراحی دارند • می‎توانند در مورد اکس‎ام‎ال نيز نقش کارا داشته باشند • با در نظر گرفتن وابستگی‎های تابعی در الگوی (schema) يک فايل اکس‎ام‎ال می‎توان در مورد خوب يا بد بودن طراحی نظر داد

  6. DTD : يادآوری (1) • نقش DTD يا "تعريف نوع سند" (document type definition) مشخص کردن برچسب‎های سند و ترکيب معنی‎دار آنهاست • يک DTD اساساً گرامری بر روی برچسب‎ها است • ساختار متن بين برچسب‎ها معين نمی‎شود • يک ابزار پارسر با در دست داشتن يک سند اکس‎ام‎ال و يک DTD می‎تواند سند را پارس کرده اعتبار آنرا تشخيص بدهد.

  7. DTD : يادآوری (2) • تعريف: فرض کنيد Σ الفبای محدودی از گونه‎های عناصر باشد (element types). يک DTD بر روی Σ به صورت d=( r, P) است که در آن • r يک عنصر متمايز از Σ ريشه‎ی درخت است. • P به صورت P: Σ →regex(Σ )تعريف می‎شود که در آن regex( Σ) مجموعه‎ی تمامی عبارت‎های منظم بر روی Σ است.

  8. DTD : يادآوری (3) • بين تعريف DTD و يک گرامر مستقل از متن قرابت بسيار وجود دارد • اما اين‎دو دارای دوتفاوت عمده نيز هستند • Pدر تعريف DTDبرخلاف گرامرهای مستقل از متن می‎تواند شامل عبارت‎های منظم مثل a* باشد • به ازای هر مؤلفه‎ی Σ تنها يک قاعده توليد وجود دارد • با توجه به تفاوت‎های نامبرده، می‎توان DTD را به عنوان گرامرمستقل از متن توسعه يافته تلقی نمود

  9. DTD : يادآوری (4) <!DOCTYPE db [ <!ELEMENT db (book)*> <!ELEMENT book (title,author+)> <!ELEMENT author (name)> <!ELEMENT name (#PCDATA)> Σ={ db, book, title, author, name},d=(db,P) P: db → book * book → title.author + author → name name → ε

  10. مثال برای وابستگی تابعی courses course course info @cno student @cno student @sno name student “cs100” . . . “cs225” “123” “Fox” @sno name grade @sno name grade “123” “Fox” “B+” “123” “Fox” “A+” برگرفته از Marcelo Arenas

  11. تغيير در الگو DTD: Integrity Constraints: courses  course* course  @cno, student* student  @sno, name, grade name S grade S ,info* two students with the same @sno value must have the same name. @snois the key ofinfo. info  @sno, name برگرفته از Marcelo Arenas

  12. وابستگی تابعی • اين مسائل يادآور مشکلات ايجاد شده از وابستگی‎های تابعی غيرکليدی است • در قدم اول برای حل مشکل بايستی برای سندهای اکس‎ام‏ال مفهوم وابستگی‎های تابعی به درستی تعريف بشود. • برای تعريف وابستگی‎های تابعی، روش‎های مختلفی موجود هستند • در اين گزارش تنها به يکی از اين روش‎ها اشاره خواهيم کرد که از بقيه مشهورتر است

  13. چارچوب: DTD • در اين بحث، ID و IDREF در نظر گرفته نشده‎اند • مجموعه‎ی Paths(D) را به صورت مجموعه‎ی تمامی مسيرها در يک DTD تعريف می‎کنيم courses.course courses.course.@cno courses.course.student.name courses.course.student.name.S • سه نوع عنصر در نظر می‎گيريم: • attributes (@), strings (S) and element types

  14. چارچوب: درخت‎های اکس‎ام‎ال courses v0 course course v1 . . . @cno student student v2 v5 “cs100” @sno grade @sno grade name name v3 v4 v6 v7 “123” “456” S S S S “Fox” “B+” “Smith” “A-”

  15. وابستگی‎تابعی در اکس‎ام‎ال • با مساله‎ی وابستگی‎های تابعی در پايگاه داده‎های رابطه‎ای آشنا هستيم • برای توسعه دادن آن به پايگاه داده‎ی اکس‎ام‎الی نيازمند به يک نمايش رابطه‎ای از فايل‎های اکس‎ام‎ال نيازمند هستيم • اين کار را به کمک تعريف تاپل‎های درختی انجام می‎دهيم: يک تاپل درختی در يک DTD با نام D يک نگاشت است t : Paths(D)  Vertices  Strings  {} • بايستی بتوان آنرا از يک درخت اکس‎ام‎ال متناظر با D به دست آورد

  16. تاپل‎های درختی يک تاپل درختی نمايانگر يک درخت اکس‎ام‎الی است courses t(courses) = v0 t(courses.course) = v1 t(courses.course.@cno) = “cs100” t(courses.course.student) = v2 t(p) = , for the remaining paths v0 course v1 @cno student v2 “cs100”

  17. درخت اکس‎ام‎ال: مجموعه‎ای از تاپل‎های درختی courses courses v0 v0 course course course course v1 v1 . . . . . . @cno @cno student student student student v2 v5 v5 v2 “cs100” “cs100” @sno @sno grade grade @sno @sno grade grade name name name name v3 v3 v4 v4 v6 v6 v7 v7 “123” “123” “456” “456” S S S S S S S S “Fox” “Fox” “B+” “B+” “Smith” “Smith” “A-” “A-”

  18. وابستگی تابعی • عبارت‎هايي به فرم: X  Y • تعريف شده بر روی DTDD، که در آن X و Y زيرمجموعه‎های محدود ناتهی از Paths(D) • درخت اکس‎ام‎ال T در وابستگی تابعی X Y صدق می‎کند اگر: X Y Paths(T)  Paths(D) • T  X  Y اگر برای هر زوج u و v از تاپلهای درختی در T داشته باشيم: u.X = v.X and u.X≠  implies u.Y = v.Y

  19. مثال • University DTD: courses  course* course  @cno, student* student  @sno, name, grade • Two students with the same @sno value must have the same name: courses.course.student.@sno  courses.course.student.name.S • Every student can have at most one grade in every course: { courses.course, courses.course.student.@sno }  courses.course.student.grade.S

  20. سوال؟

More Related