Đối với một dự án trường học, chúng tôi phải tạo cơ sở dữ liệu của riêng mình. Tôi quyết định tạo cơ sở dữ liệu để quản lý khoảng không quảng cáo thành phần điện tử của mình. Theo yêu cầu, chúng ta cần tạo một sơ đồ ER, sau đó từ sơ đồ đó lấy được lược đồ cơ sở dữ liệu. Thật không may cho tôi, giáo sư tin rằng sơ đồ tôi tạo ra có thể được đơn giản hóa và thực thể "Part" là không cần thiết.Đơn giản hóa Sơ đồ Cơ sở dữ liệu ER/Lược đồ
This là sơ đồ tôi đã đưa ra và here là lược đồ có nguồn gốc.
Nếu tôi loại bỏ thực thể Part, sau đó để một thực thể Mạch "sử dụng" bất kỳ số nào của bất kỳ phần nào, và có mỗi phần liên kết với bất kỳ mạch nào, tôi sẽ phải có một M-to-N riêng biệt mối quan hệ từ mỗi loại thành phần đến Mạch. Mỗi mối quan hệ đó sẽ tạo ra một bảng mới. Điều này chắc chắn sẽ đi qua số lượng tối đa nghiêm ngặt của bảng chúng tôi được phép cho dự án.
Nếu giáo sư đề cập cụ thể Part là không cần thiết, thì phải có cách nào đó để loại bỏ nó dẫn đến sơ đồ và sơ đồ ER đơn giản hơn - nhưng tôi không thể thấy nó là gì.
Có thể các bạn có thể thấy nó là gì và gợi ý cho tôi?
EDIT: Dan W có đề xuất tuyệt vời. Tôi có thể loại bỏ các phần bằng cách cho mỗi loại phần (Tụ, Điện trở, vv) phím riêng của họ. Sau đó, bên trong sử dụng một phần, bao gồm các phím nước ngoài cho các thành phần. Tôi sẽ phải giả định rằng mỗi mục nhập của bảng sẽ chỉ được liên kết với một phần duy nhất, phần còn lại là null. Here's lược đồ kết quả. Lược đồ này sẽ hoạt động tốt. Nhưng bây giờ tôi phải tìm ra chính xác những thay đổi nào đối với sơ đồ ER sẽ tương ứng với lược đồ này.
EDIT2: Tôi đã đi đến kết luận rằng mối quan hệ tôi đang tìm kiếm là n-ary. Theo một số nguồn, để chuyển đổi từ n-ary sang lược đồ, bạn bao gồm khóa chính của mỗi mối quan hệ kiểu thực thể tham gia là khóa ngoài. Sau đó, thêm các thuộc tính đơn giản. This là những gì tôi nghĩ ra.
Bạn không thể thay đổi PartID thành ResistorID, CapicatorID, vv và sau đó thêm các cột này vào bảng Uses_Part? –
Đề xuất tốt. Tôi đã nghĩ về điều này trước đây, nhưng tôi không hoàn toàn chắc chắn làm thế nào để đại diện cho rằng trong một sơ đồ ER. Nó có thể là một mối quan hệ n-ary, nhưng tôi sẽ phải xem. – Schmidget
Tôi thực sự thích thiết kế của bạn. Tôi sẽ không thay đổi gì cả. Có loại khác nhau của các bộ phận, với các thuộc tính khác nhau và bạn có các thực thể riêng biệt cho mỗi một (điện trở, tụ điện, vv). Thực thể Part là cần thiết như là thực thể supertype của chúng. Như bạn nói (chính xác) sẽ được sử dụng trong mối quan hệ M: N. –