Wspomaganie Globalizacji
Transkrypt
Wspomaganie Globalizacji
Wspomaganie Globalizacji Cele Po zakończeniu tej lekcji powinieneś być w stanie: • Wybrać podstawowy i narodowy zestaw znaków bazy danych y • Skonfigurować zachowanie serwera Oracle zależne od języka i terytorium przy pomocy: – – – • • • parametrów inicjalizacyjnych, zmiennych środowiskowych, polecenia ALTER SESSION Stosować parametry National Language Support (NLS) Rozumieć wpływ ustawień językowych na działanie aplikacji Uzyskiwać ze słownika danych informacje na temat konfiguracji Wspomagania Globalizacji Własności Wspomagania Globalizacji • • • • • • • • Wspomaganie języków narodowych Wspomaganie p g terytoriów y Wspomaganie wielu zestawów znaków Sortowania lingwistyczne g y Wyświetlanie komunikatów Oracle w różnych językach Różne formaty daty i czasu Formaty liczb Symbole walut Database Różne typy schematów kodowania znaków Oracle Database zapewnia wmożliwość wykozystania różnych kategorii schematów kodowania znaków: • Jednobajtowe zestawy znaków – 7-bitowe – 8-bitowe • Wielobajtowe zestawy znaków zmiennej długości • Wielobajtowe zestawy znaków stałej długości • Unicode (AL32UFT8, AL16UTF16, UTF8) Podstawowy i narodowy zestaw znaków bazy danych Zestaw podstawowy Zestaw narodowy Określany przy tworzeniu b.d. Określany przy tworzeniu b.d. Nie może zostać zmieniony (kilka wyjątków) Nie może zostać zmieniony (kilka wyjątków) Wykorzystywany w typach CHAR, Wykorzystywany w typach VARCHAR2, CLOB, LONG NCHAR, NVARCHAR2, NCLOB Można stosować schematy jednobajtowe i zmiennej długości Można stosować Unicode w schematach h h AL16UTF16 A 16UTF16 i UTF8 Wskazówki do stosowania podstawowego i narodowego zestawu znaków bazy danych Rozważania • Jakie języki powinna wspomagać baza y danych? • Jaki wpływ mogą mieć zasoby systemowe na działanie bazy danych i aplikacji? • Czy są wymagania w stosunku do wydajności? • Jakie ograniczenia mogą wystąpić? Wskazówki do wyboru narodowego zestawu znaków bazy danych • Dwie możliwości – AL16UTF16 – UTF8 • Czy ma znaczenie oszczędność miejsca? • Czy ma znaczenie wydajność ? Zestaw znaków Unicode Kiedy powinno się tworzyć bazę danych z zestawem znaków Unicode? • Łatwa migracja kodu do Javy i Pl/SQL • Łatwa migracja danych z zestawów opartych o kod ASCII • Losowo rozrzucone dane wielojęzyczne • Przeszukiwanie tekstów w kartrydżu InterMedia Zestaw znaków Unicode Kiedy powinno się stosować typy danych Unicode? • Stopniowe dodawane wspomaganie wielojęzyczności • • Aplikacje pakietowe Wydajność Jednobajtowy podstawowy zestaw znaków z zestawem narodowym zmiennej długości • W klientach Windows lepsze jest wspomaganie zestawu UTF-16 Określanie zachowania zależnego od języka Parametr inicjalizacyjny Zmienna środowiskowa Polecenie ALTER SESSION Określenie konfiguracji narodowej dla serwera NLS_LANGUAGE określa: • • • • Język komunikatów Nazwy dni i miesięcy Symbole dla A.D, A D B.C, B C A.M, A M P.M. PM Domyślny porządek sortowania NLS_TERRITORY określa: k śl • • Numerację dni i tygodni Domyślny format daty, separator dziesiętny i grupowy, symbole waluty ISO i lokalny Domyślne wartości parametrów zależnych od języka i terytorium PARAMETR NLS_LANGUAGE Wartość AMERICAN NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_DATE_FORMAT DD-MON-RR NLS_NUMERIC_CHARACTERS ,. Określanie konfiguracji narodowej dla sesji użytkownika • Zmienna środowiskowa: NLS_LANG=French_France.UTF8 • Dodatkowe zmienne środowiskowe: – NLS_DATE_FORMAT – NLS_DATE_LANGUAGE – NLS_SORT – NLS_NUMERIC_CHARACTERS – NLS_CURRENCY – NLS_ISO_CURRENCY NLS ISO CURRENCY – NLS_CALENDAR Zestawy znaków w architekturze Klient-Serwer NLS_LANG=<language>_<territory>.<charset> NLS_NCHAR=<ncharset> CREATE DATABASE ... CHARACTER SET <charset> NATIONAL CHARACTER SET <ncharset> ... Określanie konfiguracji narodowej dla sesji użytkownika ALTER SESSION SET NLS NLS_DATE_FORMAT=‘DD.MM.YYYY’; DATE FORMAT ‘DD MM YYYY’ DBMS_SESSION.SET_NLS(‘NLS_DATE_FORMAT’, _ _ _ _ ’’’DD.MM.YYYY’’’) ; Sortowanie Lingwistyczne Oracle dostarcza trzech typów sortowania • Sortowanie binarne oparte o binarne wartości znaków • Sortowanie jednojęzyczne – Sortowanie takie jest realizowane w dwóch fazach – Opiera się na wartości głównej i mniej znaczącej przypisanej y j do znaków • Sortowanie wielojęzyczne – Oparte o standard ISO 14651 oraz standard Unicode 3.0 Sortowanie NLS • NLS_SORT określa sposób sortowania danych znakowych – Jest określany przez zmienną środowiskową NLS_LANG – Może zostać zmieniony na poziomie sesji • funkcja j NLSSORT – Określa sposób sortowania danych znakowych – Pozwala na określenie sposobu sortowania na poziomie polecenia SQL Stosowanie parametrów NLS w funkcjach SQL SELECT TO_CHAR(hire_date,’DD.Mon.YYYY’, ‘NLS_DATE_LANGUAGE=FRENCH’) FROM employees; SELECT ename, TO_CHAR(sal,’9G999D99’, ‘NLS_NUMERIC_CHARACTERS=‘‘,.’’’) FROM emp; Wspomaganie indeksów lingwistycznych • Indeksowanie lingwistyczne • Wysoka y wydajność y j sortowania lingwistycznego g y g CREATE INDEX list_word ON list (NLSSORT(word, ‘NLS_SORT = French_M’)); • Przy porównaniach lingwistycznych stosuje się parametr inicjalizacyjny p j yj y NLS_COMP Import i załadunek danych a NLS • Dane podczas importu podlegają konwersji z zestawu znaków pliku eksportu do zestawu znaków kó b bazy danych. d h • LOADER: – Ścieżka Ś i żk k konwencjonalna: j l D Dane są k konwertowane t do zestawu znaków sesji użytkownika określonego parametrem NLS_LANG. – Ścieżka bezpośrednia: Dane są konwertowane bezpośrednio do zestawu znaków bazy danych. Uzyskiwanie informacji o zestawach znaków bazy danych NLS_DATABASE_PARAMETERS: • PARAMETER (NLS_CHARACTERSET, NLS_NCHAR_CHARACTERSET) • VALUE Uzyskiwanie informacji o konfiguracji NLS NLS_INSTANCE_PARAMETERS: • PARAMETER (p (parametry y inicjalizacyjne j yj ustawione jawnie) j ) • VALUE NLS_SESSION_PARAMETERS: • PARAMETER (parametry ustawione dla sesji użytkownika) • VALUE Uzyskiwanie informacji o konfiguracji NLS V$NLS_VALID_VALUES: • PARAMETER (LANGUAGE, SORT, TERRITORY, CHARACTERSET) • VALUE V$NLS_PARAMETERS: • PARAMETER (parametry NLS ustawione dla sesji, NLS_CHARACTERSET)) • VALUE Narzędzia Wspomagania Globalizacji • Character Set Scanner – Pozwala na sprawdzenie, p , czy y zestaw znaków bazy y danych może zostać zmieniony – Raporty dostarczają szczegółowych informacji o możliwych żli h problemach bl h i poprawkach, k h które któ należy l ż uwzględnić • Oracle Locale Builder – Łatwy w użyciu interfejs graficzny – Służy do przeglądania, przeglądania modyfikowania i tworzenia nowych ustawień narodowych Podsumowanie W lekcji tej zostały omówione następujące zagadnienia: • Wybór odpowiedniego zestawu znaków i narodowego zestawu znaków bazy danych • Stosowanie różnych typów parametrów NLS dl serwera i sesji dla ji użytkowników ż k ikó