Jestem naprawdę mylony z bazą danych warunków, użytkownikiem i schematem. Czy ktoś może wyjaśnić, czym się różnią (jeśli są)?
Jeśli są takie same, jakie są między nimi podobieństwa? Jak z nich korzystamy? Jak je tworzymy?
Jestem naprawdę mylony z bazą danych warunków, użytkownikiem i schematem. Czy ktoś może wyjaśnić, czym się różnią (jeśli są)?
Jeśli są takie same, jakie są między nimi podobieństwa? Jak z nich korzystamy? Jak je tworzymy?
Odpowiedzi:
W Oracle użytkownicy i schematy są zasadniczo takie same. Możesz uznać, że użytkownik jest kontem używanym do łączenia się z bazą danych, a schemat to zbiór obiektów (tabele, widoki itp.), Które należą do tego konta.
Zobacz ten post na temat przepełnienia stosu: różnica między użytkownikiem a schematem w Oracle? po więcej szczegółów i dodatkowe linki.
Tworzysz użytkowników za pomocą create user
wyciągu. Spowoduje to również „utworzenie” schematu (początkowo pusty) - nie można utworzyć schematu jako takiego, jest on powiązany z użytkownikiem. Po utworzeniu użytkownika administrator może przyznać mu uprawnienia, które umożliwią mu tworzenie tabel, wykonywanie select
zapytań insert
i wszystko inne.
Baza danych zawiera wszystkie utworzone przez Ciebie użytkowników i ich dane (oraz grupę predefiniowanych użytkowników systemu, tabel, widoków itp., Dzięki którym wszystko działa). Powinieneś spojrzeć na dokumentację architektury bazy danych Oracle w Przewodniku pojęć (właściwie cała strona jest warta przeczytania - na tej stronie znajduje się sekcja o użytkownikach i schematach), aby uzyskać wprowadzenie do tego, czym jest baza danych i jakie instancja bazy danych to - dwie ważne koncepcje.
Po utworzeniu create database
stosu oprogramowania Oracle można utworzyć bazę danych z instrukcją. Jednak korzystanie z dbca
(asystenta tworzenia bazy danych) jest łatwiejsze.
Zgodnie ze sposobem, w jaki terminologia jest czasami używana , a USER
i a SCHEMA
są nieco podobne. Ale jest też duża różnica. USER
Można nazwać SCHEMA
, jeśli „ USER
” posiada żadnych przedmiotów, w przeciwnym razie będzie to tylko pozostać „ USER
”. Kiedyś USER
posiada przynajmniej jeden obiekt, to na podstawie wszystkich powyższych definicji ... USER
można go teraz nazwać SCHEMA
.
Aby zacząć rozumieć różnicę, myślę, że musimy zacząć mówić, że ta nomenklatura była błędem Oracle.
Zakładam, że jeśli masz ERP o nazwie TRITON, chcesz, aby twoja baza danych nazywała się TRITON, lub jeśli moja firma nazywa się JENNY EXPORT, mogę zdecydować, że moja baza danych nazywa się JENNYEXP lub coś w tym rodzaju, nie ma potrzeby, aby użytkownik o tej samej nazwie .
W Oracle musisz utworzyć USER przed utworzeniem tabel, a co dziwne, ta kolekcja TABLES nazywa się SCHEMA.
Następnie możesz utworzyć rzeczywistych użytkowników i przyznać odpowiednie uprawnienia do pracy z taką bazą danych, jak TRITON, jak w tym przykładzie, nawiasem mówiąc, jeśli łączysz się przez SQL DEVELOPERA, musisz NAZWAĆ POŁĄCZENIE.
Wiem, że jestem trochę sfrustrowany, ale dla mnie bardziej sensowna jest konwencja nazewnictwa MS SQL SERVER i mogę dodać, że pracowałem z Oracle wcześniej niż SQL SERVER.
Baza danych to zbiór danych, w którym faktycznie przechowywane są dane. Jest to fizyczny komponent pamięci podłączony do komputera zainstalowanego z oprogramowaniem DBMS w celu manipulowania danymi w tym komponencie pamięci, komputer zainstalowany z oprogramowaniem dbms nazywa się Serwer lub Serwer bazy danych. Zarówno Serwer (Komputer), jak i Baza danych (komponent pamięci) są różne, ale Najczęściej określane jako „Same” w zależności od sytuacji.
Oba słowa, użytkownik i schemat, są wymienne, dlatego większość ludzi myli się na tych słowach.
Użytkownik jest kontem do połączenia bazy danych (serwer). możemy utworzyć użytkownika za pomocą opcji UTWÓRZ IDENTYFIKOWANEGO UŻYTKOWNIKA.
W rzeczywistości baza danych Oracle zawiera logiczną i fizyczną strukturę do przetwarzania danych. Schemat również struktura logiczna do przetwarzania danych w bazie danych (komponent pamięci). Jest tworzony automatycznie przez Oracle po utworzeniu przez użytkownika. Zawiera wszystkie obiekty utworzone przez użytkownika powiązanego z tym schematem. Na przykład, jeśli utworzyłem użytkownika o nazwie, santhosh
wówczas Oracle tworzy schemat o nazwie santhosh
, Oracle przechowuje wszystkie obiekty utworzone przez użytkownika santhosh
w santhosh
schemacie.
Możemy stworzyć schemat za pomocą CREATE SCHEMA
instrukcji, ale Oracle automatycznie tworzy użytkownika dla tego schematu.
Możemy upuścić schemat za pomocą DROP SCHEMA <name> RESTRICT
instrukcji, ale nie można usunąć obiektów zawartych w schemacie, więc aby upuścić schemat, musi być pusty. w tym przypadku słowo ograniczające wymusza określenie tego schematu bez obiektów.
Jeśli spróbujemy usunąć użytkownika zawierającego obiekty w jego schemacie, musimy podać CASCADE
słowo, ponieważ Oracle nie pozwala na usunięcie użytkownika zawierającego obiekty.
DROP USER <name> CASCADE
więc Oracle usuwa obiekty ze schematu, a następnie automatycznie upuszcza użytkownika, Obiekty odwoływały się do tych obiektów schematu z innych schematów, takich jak widoki i prywatne synonimy, przechodzą w stan nieprawidłowy.
Dodam, że powyższe instrukcje dotyczą implementacji Oracle, ale inne bazy danych, w tym SQL Server i PostgreSQL, używają schematu jako przestrzeni nazw, tj. Sposobu grupowania obiektów. Na przykład schemat pomostowy może grupować wszystkie obiekty używane w danych pomostowych, schemat rachunkowości może grupować wszystkie obiekty związane z rachunkowością.
Użytkownik! = Schemat, Użytkownik i Schemat nie są takie same, ale są używane zamiennie
Mówię ci zgodnie z koncepcjami nieopartymi na żadnym systemie zarządzania bazami danych, którego używasz.
Koncepcyjnie: Baza danych: jest tylko stosem danych, w większości niezarządzanymi powiązanymi lub niepowiązanymi danymi.
Schemat: Schemat odnosi się do formalnej struktury niezarządzanych powiązanych / niepowiązanych danych, aby można nimi zarządzać za pomocą jakiegoś systemu zarządzania, który rozumie formalną definicję podaną przez schemat. Schemat jest w zasadzie schematem zapewniającym przegląd. Na przykład masz XSD, który definiuje schemat tworzenia XML. Masz RDBMS, który definiuje własne schematy oparte na Regułach Codda, które w zasadzie definiują schematy tworzenia RDBMS.
Jeśli chcesz dowiedzieć się więcej, zapoznaj się z tym linkiem .
Użytkownik korzysta z języka formalnego określonego w schemacie, aby uzyskać dostęp do bazy danych