Zmiana nazwy tabeli

Użytkowanie programu bazodanowego

Zmiana nazwy tabeli

Postprzez Zantor » Cz lis 15, 2018 7:29 pm

Witam
Od razu zaznaczam że bawię się w Base od kilku dni więc moja wiedza jest raczej rokująca niż faktyczna stąd moga się pojawiać głupie pytania ale do rzeczy.

Czy jest możliwość zmiany nazwy tabeli? Kiedy zmieniam nazwę sypie mi się kwerenda która używa zmienianej tabeli. Muszę wtedy ją otworzyć ręcznie w SQL i ręcznie wyszukać starą nazwę i zmienić na nową. Czy Base rzeczywiście sobie z tym nie radzi czy robię coś źle?
Open Office 4.1.5
Zantor
 
Posty: 3
Dołączył(a): Cz lis 15, 2018 7:24 pm

Re: Zmiana nazwy tabeli

Postprzez Jan_J » Pt lis 16, 2018 12:10 am

Zmiana nazwy tabeli i zmiana treści kwerendy są operacjami z różnych bajek.
Tabela jest przechowywana w bazie (wbudowanej w dokument albo zewnętrznej). Kwerenda natomiast jest częścią dokumentu i baza jako taka nic o jej istnieniu nie wie. Dla bazy kwerenda zaistnieje jedynie w chwili jej użycia jako żądanie do wykonania.
System użytkowy, jakim jest Base, nie modyfikuje treści kwerend przy okazji zmiany struktury bazy.

Istnieje kategoria obiektów zwanych perspektywami (views), które działają podobnie do kwerend, ale są przechowywane w bazie.
Jeżeli masz więc więcej klientów podłączonych do tej samej bazy i o takich samych uprawnieniach, to wszystkie będą widzieć te same perspektywy, ale każdy -- tylko własne kwerendy.

W przypadku zmiany nazwy tabeli używanej w perspektywie baza powinna zaprotestować. I Base (tj. wbudowana baza HSQL albo Firebird) rzeczywiście tak robi.

Da się pomyśleć, że system kliencki będzie kontrolował nazwy tabel i zmieniał odpowiednio treść definicji kwerend, ale byłoby to rozwiązanie bardzo ryzykowne, wręcz niebezpieczne. Powiedzmy że mamy dwóch klientów do tej samej bazy. Jeden z nich zarządzi zmianą tabel. Co miałby zrobić drugi? przecież on się w ogóle nie ma szans o tym dowiedzieć! (nie mówiąc już, że przecież mógłby w tym czasie nie być podłączony).
JJ
LO (6.0|6.1) ∙ AOO 4.1.5 ∙ Python (3.7|2.7) ∙ Unicode 11 ∙ LATEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Fedora|CentOS|SUSE)
Jan_J
 
Posty: 3773
Dołączył(a): Pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Zmiana nazwy tabeli

Postprzez Zantor » Pt lis 16, 2018 6:46 pm

Czyli jak mawiał dr Emmett Brown - trzeba myśleć czterowumiarowo. I wszystko jasne.
Open Office 4.1.5
Zantor
 
Posty: 3
Dołączył(a): Cz lis 15, 2018 7:24 pm


Powrót do Base

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości