it-swarm-eu.dev

Rozdíl mezi schématem versus uživatel vs.

Opravdu jsem zmaten pojmem databáze, uživatele a schéma. Může někdo vysvětlit, jak se vzájemně liší (pokud jsou)?

Pokud jsou tedy stejné, jaké jsou mezi nimi podobnosti? Jak je používáme? A jak je vytvoříme?

88
Ravi

V Oracle jsou uživatelé a schémata v zásadě stejná. Můžete zvážit, že uživatel je účet, který používáte pro připojení k databázi, a schéma je sada objektů (tabulek, pohledů atd.), Které patří k tomuto účtu.

Podívejte se na tento příspěvek na Přetečení zásobníku: rozdíl mezi uživatelem a schématem v Oracle? pro více informací a další odkazy.

Vytváříte uživatele pomocí create user prohlášení. Toto také „vytvoří“ schéma (zpočátku prázdné) - nemůžete vytvořit schéma jako takové, je vázáno na uživatele. Jakmile je uživatel vytvořen, administrátor může uživateli udělit oprávnění, která mu umožní vytvářet tabulky, provádět select dotazy, insert a všechno ostatní.

Databáze je věc, která obsahuje všechny uživatele, které jste vytvořili, a jejich data (a spoustu předdefinovaných uživatelů systému, tabulek, pohledů atd., Díky nimž celá věc funguje). Měli byste se podívat na dokumentaci Oracle Database Architecture v Concepts Guide (ve skutečnosti, že celá stránka stojí za přečtení - na této stránce je sekce o uživatelích a schématech výše), abyste získali úvod k tomu, co databáze je a jaká je instance databáze - dva důležité pojmy.

Můžete vytvořit databázi pomocí create database prohlášení, jakmile nainstalujete softwarový balík Oracle. Začít však lze snadněji pomocí dbca (asistent vytvoření databáze).

86
Mat

Abychom pochopili rozdíl, myslím si, že musíme začít říkat, že tato nomenklatura byla chybou od společnosti Oracle.

Předpokládám, že pokud máte ERP s názvem TRITON), chcete, aby vaše databáze byla pojmenována TRITON, nebo pokud se moje společnost jmenuje JENNY EXPORT, mohl bych se rozhodnout, že se moje databáze bude jmenovat JENNYEXP nebo něco podobného, není potřeba žádný uživatel se stejným jménem.

V systému Oracle musíte před vytvořením tabulek vytvořit USER a natolik podivné, že se tato kolekce TABLES nazývá SCHEMA.

Pak byste mohli vytvořit skutečné uživatele a udělit správná oprávnění pro práci s takovou databází, jako je TRITON, podle tohoto příkladu, mimochodem, pokud se připojíte pomocí SQL DEVELOPER, musíte JMÉNO PŘIPOJENÍ.

Vím, že to zní trochu frustrovaně, ale dává mi větší smysl pro pojmenování MS SQL SERVER a mohu dodat, že jsem pracoval s Oracle dříve než SQL SERVER.

4
Glauco Guerrero

Podle způsobu, jakým je terminologie někdy používána , jsou USER a SCHEMA trochu podobné. Ale je tu také velký rozdíl. USER lze nazvat SCHEMA, pokud "USER" vlastní jakýkoli objekt, jinak zůstane pouze "USER". Jakmile USER vlastní alespoň jeden objekt, pak na základě všech vašich definic výše ... USER lze nyní nazvat SCHEMA.

3
JOHNNIE

Databáze.

Databáze je kolekce dat, kde jsou skutečně uložena. Jde o fyzickou součást paměti připojenou k počítači nainstalovanému pomocí softwaru DBMS za účelem manipulace s daty v této součásti paměti, počítač nainstalovaný pomocí softwaru dbms se nazývá server nebo databázový server. Server (počítač) a databáze (paměťová složka) se liší, ale Většinou označována jako stejná podle situace.

USER a SCHEMA

Obě slova, uživatel i schéma, jsou vzájemně zaměnitelné, a proto je většina lidí v těchto slovech zmatená.

Uživatel

Uživatel je účet pro připojení databáze (Server). můžeme vytvořit uživatele pomocí CREATE USER IDENTIFIED BY.

Schéma

Ve skutečnosti Oracle Database obsahuje logickou a fyzickou strukturu pro zpracování dat. Schéma také logické struktury pro zpracování dat v databázi (paměťové komponenty). Je vytvořen automaticky společností Oracle při vytvoření uživatele. Obsahuje všechny objekty vytvořené uživatelem přidruženým k tomuto schématu.Například pokud jsem vytvořil uživatele s názvem santhosh, potom Oracle vytvoří schéma s názvem santhosh, Oracle uloží všechny objekty vytvořené uživatelem santhosh ve schématu santhosh.

Můžeme vytvořit schéma pomocí CREATE SCHEMA, ale Oracle automaticky vytvoří uživatele pro toto schéma.

Schéma můžeme zrušit pomocí DROP SCHEMA <name> RESTRICT příkaz, ale nemůže odstranit objekty obsažené ve schématu, takže pro vynechání schématu musí být prázdné. zde omezení Word vás přinutí specifikovat toto schéma s objekty mimo.

Pokud se pokusíme zahodit uživatele obsahujícího objekty do jeho schématu, musíme zadat CASCADE Word, protože Oracle vám nedovolí odstranit uživatele obsahujícího objekty.

DROP USER <name> CASCADE

takže společnost Oracle odstraní objekty ve schématu a poté automaticky uživatele upustí. Objekty odkazovaly na tyto objekty schématu z jiných schémat, jako jsou pohledy a soukromá synonyma, přejde do neplatného stavu.

3
SanthoshReddy