Changes between Version 5 and Version 6 of Normalization


Ignore:
Timestamp:
08/12/25 23:50:17 (7 days ago)
Author:
211228
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v5 v6  
    11= Нормализација и подобрувања на дизајнот на базата =
    22
    3 R = { u_id, phone_number, first_name, last_name, email, pass, faculty_name, year_of_studies, is_exempt, gender, p_id, amount, payment_date, student_id, payment_month, d_id, d_comment, d_name, d_status, [[br]] upload_date, file_path, emp_id, block_id, num_available_rooms, room_number, is_available, capacity, status, roommate_email, requested_time, start_date, end_date}
     3== Подобро именување на атрибути
     4
     5status од табела Room_Request -> request_status
     6status од табела Document -> document_status
     7
     8
     9R = { u_id, phone_number, first_name, last_name, email, pass, faculty_name, year_of_studies, is_exempt, gender, p_id, amount, payment_date, student_id, payment_month, d_id, d_comment, d_name, document_status, [[br]] upload_date, file_path, emp_id, block_id, num_available_rooms, room_number, is_available, capacity, request_status, roommate_email, requested_time, start_date, end_date}
    410
    511== Определување на функциски зависности ==
    612
    7 u_id -> phone_number, first_name, last_name, email, pass, student_id, faculty_name, year_of_studies, is_exempt, gender[[br]]
    8 email -> u_id, phone_number, first_name, last_name, pass[[br]]
     13u_id -> phone_number, first_name, last_name, email, pass [[br]]
     14email -> u_id, phone_number, first_name, last_name, pass ( транзитивна вредност па ја отфрлам )[[br]]
    915student_id -> u_id, phone_number, first_name, last_name, email, pass, faculty_name, year_of_studies, is_exempt, gender[[br]]
    10 emp_id -> phone_number, first_name, last_name, email, pass [[br]]
     16emp_id -> ( претставува редундантна вредност, исти атрибути како u_id -> ...) [[br]]
    1117p_id -> amount, payment_date, payment_month, student_id[[br]]
    1218d_id -> d_comment, d_name, d_status, upload_date, file_path, emp_id, student_id[[br]]
     
    1521room_number, block_id, student_id -> status, roommate_email, employee_id, requested_time [[br]]
    1622student_id, room_num, block_id -> start_date, end_date [[br]]
     23
     24== Кандидати за примарен клуч
     25
     26* u_id
     27* p_id
     28* d_id
     29* room_number - како дел од композитен клуч
     30* block_id
     31
     32За да го избереме примарниот клуч треба да одбереме кандидати кои ги покриваат сите атрибути од десно [[br]]
     33
     34u_id += { phone_number, first_name, last_name, email, pass } -> Ги содржи податоците само за корисниците на системот [[br]]
     35p_id += { amount, payment_date, payment_month, student_id } ->  Ги содржи податоците за плаќање и за корисникот кој го извршил плаќањето [[br]]
     36d_id += { d_comment, d_name, d_status, upload_date, file_path, emp_id, student_id } -> Ги содржи податоците за документот кој го поставил студентот и вработениот кој го прегледал [[br]]
     37Единствен избор за примарен клуч на целата релација R би бил ('''u_id, p_id, d_id, room_number, block_id''') [[br]]
     38Сега R е во прва нормализирана форма односно ги исполнува условите сите атрибути да се атомски, нема колони кои се повторуваат и има примарен клуч кој ги покрива сите атрибути. [[br]]
     39
     40
     41
     42
     43
     44