Prawidłowo – na takim schemacie bazy danych „czytelnik”, „wypożyczenie” i „książka” to encje. W modelowaniu danych najpierw identyfikujemy obiekty świata rzeczywistego, które chcemy odwzorować w systemie. W przypadku biblioteki naturalnymi obiektami są właśnie czytelnik, książka i konkretne wypożyczenie. W notacji ERD (Entity‑Relationship Diagram) każdy z tych obiektów opisujemy jako encję, a potem dopiero dodajemy jej atrybuty oraz relacje z innymi encjami. Na schemacie widzisz trzy prostokąty – to są właśnie encje. Każda encja ma zestaw atrybutów: dla encji „czytelnik” są to np. imię, nazwisko, ulica, miejscowość; dla encji „książka” – tytuł, autor, rok wydania; dla encji „wypożyczenie” – daty wypożyczenia i zwrotu, klucze obce do czytelnika i książki. W relacyjnej bazie danych te encje są potem najczęściej odwzorowane jako tabele: tabela CZYTELNIK, WYPOZYCZENIE, KSIAZKA. To jest dokładnie zgodne z dobrymi praktykami projektowania: najpierw model koncepcyjny (encje i relacje), dopiero później model logiczny (tabele, klucze, typy danych). Z mojego doświadczenia przy każdym poważniejszym projekcie bazodanowym analitycy najpierw rysują diagram encji, bo to pomaga zrozumieć domenę biznesową. Dzięki poprawnemu rozróżnieniu encji od atrybutów można uniknąć błędów typu powtarzanie tych samych danych w wielu miejscach czy trudności z raportowaniem. W bibliotece na przykład wypożyczenie musi być osobną encją, bo opisuje zdarzenie w czasie, ma własne atrybuty (daty) i łączy dwie inne encje relacjami. Taki sposób modelowania jest zgodny z klasycznymi podręcznikami baz danych (model encja‑związek) oraz z zasadami normalizacji.
Na tym schemacie bazy danych warto najpierw odróżnić kilka podstawowych pojęć: encja, atrybut, krotka i pole. To jest taki fundament, bez którego łatwo się pogubić. Prostokąty podpisane „czytelnik”, „wypożyczenie” i „książka” reprezentują ogólne typy obiektów, które występują w systemie. W języku modelowania danych nazywamy je encjami. Encja to nie pojedynczy rekord, tylko pewien rodzaj bytu, np. każdy konkretny czytelnik będzie instancją encji CZYTELNIK. Częsty błąd polega na myleniu encji z atrybutami. Atrybut to pojedyncza cecha encji – na przykład imię, nazwisko, tytuł, rok wydania. Na diagramie są one wypisane wewnątrz prostokąta, pod nazwą encji. Gdyby „czytelnik” był atrybutem, to musiałby opisywać jakąś inną encję, co tu nie ma sensu. Podobnie jest z pojęciem pola: w praktyce pola kojarzymy z kolumnami w tabeli lub polami formularza. Pole to techniczna reprezentacja atrybutu w konkretnej tabeli, a nie osobny obiekt biznesowy. Zdarza się też, że uczniowie zaznaczają odpowiedź „krotki”, bo widzą powiązanie z relacyjną bazą danych. Krotka (rekord, wiersz tabeli) oznacza jednak pojedyńczy wpis w tabeli, np. jednego konkretnego Kowalskiego jako czytelnika albo jedną konkretną książkę. Na diagramie nie widzimy pojedynczych rekordów, tylko definicję struktur, z których te rekordy będą się składać. Innymi słowy: encja to wzór, a krotka to jego konkretne wystąpienie. Moim zdaniem najbezpieczniejsza metoda zapamiętania jest taka: na etapie projektowania koncepcyjnego mówimy o encjach i atrybutach, na etapie fizycznej bazy – o tabelach, kolumnach (polach) i rekordach (krotkach). W tym pytaniu mówimy właśnie o poziomie modelu koncepcyjnego, dlatego poprawnym pojęciem są encje, a nie atrybuty, krotki czy pola.