Database Interface zwane DBI..., pozwala na ładne a zarazem produktywne opakowanie interfejsów poszczególnych baz danych, poprzez wywołanie ich funkcji na niższym poziomie DBD - database driver. Co ważne, DBI różni się do DBD, które jest tworzone pod kątem konkretnego magazynu danych i konkretyzuje jego funkcjonalność w Perlu. Dziś jednak skupimy się na DBI, które jest dla Ekosystemu Perla tym , co ODBC dla środowiska Windows. Dlatego warto omówić te elementy które nie są dostępne w DBI, a wydaje się Nam że powinny być. Cytat: Metadane - Nie posiada funkcji zwracającej nazwy kolumn interesującej Nas tabeli. Jedynym możliwym rozwiązaniem jest użycie poniższego zapisu, który nie zwraca wierszy ale zwróci metainformację select * from kadry where 1 = 0;
Cytat: Tworzenie baz danych - Magazyny danych tak bardzo różnią się od siebie, że trudno ujednolicić sposób tworzenia. Godnym uwagi może być wykorzystanie programów do kreacji bazy, które dostarcza producent aparatu bazodanowego.
Cytat: Hurtowe wstawianie danych do tablic - Jeśli chcecie wstawić duże ilości danych do bazy, proponujemy najpierw przygotować je w pliku, a następnie przesłać do bazy programem dostarczanym przez producenta.
Cytat: Procedury oraz wyzwalacze - nie można uogólnić tych mechanizmów, więc DBI ich nie wspiera. Bardziej pomocne będzie doczytanie dokumentacji DBD dla konkretnej bazy danych
Cytat: Obsługa błędów - nie ma przenośnego zestawu kodów błędów dla wszystkich baz danych. W bazie Firebird błąd 100 oznacza coś innego niż w MySQL. Dlatego nie należy oczekiwać jednolitej obsługi błędów.
Powyższe wyszczególnienie ma na celu przypomnienie kilku podstawowych faktów, które przez DBI nie są obsługiwane. Nie oznacza to wcale że takie ograniczenie jest złe. Wprost przeciwnie. Pokazuje ono na dużą dojrzałość produktu jakim jest DBI
|