Modelowanie danych (ang. data modelling) to tworzenie modeli opisujących, jakie dane system przechowuje, co one znaczą i jak są ze sobą powiązane. Klasycznie przebiega na trzech poziomach: konceptualnym (byty i relacje językiem biznesu), logicznym (atrybuty, klucze, normalizacja) i fizycznym (konkretne tabele, typy, indeksy).
W BABOK to jedna z podstawowych technik analitycznych. Analityk modeluje dane przy każdym wymaganiu, które coś zapisuje lub raportuje - a diagram ERD z dziesięcioma encjami potrafi wykryć luki, których nie widać w stu user stories. Do modelu należy też słownik danych: bez niego każdy dział rozumie pojęcia po swojemu.
Przykład (MediFlow). Model konceptualny rejestracji online: encje Pacjent, Lekarz, Placówka, Wizyta, Slot terminarza. Już przy rysowaniu relacji pada pytanie, które zmienia projekt: czy jeden lekarz przyjmuje w kilku z 12 przychodni? Przyjmuje - więc grafik to relacja wiele-do-wielu między lekarzem a placówką, a nie kolumna w tabeli lekarzy. Gdyby to wyszło na etapie kodowania, kosztowałoby przebudowę połowy backendu.
Częsta pomyłka. Zaczynanie od modelu fizycznego - od razu tabele, typy kolumn, baza - zamiast od pojęć biznesowych. Wtedy model utrwala przypadkowe decyzje techniczne zamiast odzwierciedlać rzeczywistość firmy. Druga pułapka: pomijanie słownika danych. W MediFlow "wizyta" dla recepcji to rezerwacja w kalendarzu, a dla działu rozliczeń - świadczenie wykazane do NFZ. Jeśli model nie rozstrzyga tej różnicy, raporty z dwóch działów nigdy się nie zepną.