Zmiana nazwy tabeli

Użytkowanie programu bazodanowego
Zantor
Posty: 3
Rejestracja: czw lis 15, 2018 7:24 pm

Zmiana nazwy tabeli

Post autor: Zantor »

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
Jan_J
Posty: 4558
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Zmiana nazwy tabeli

Post autor: Jan_J »

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 (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Zantor
Posty: 3
Rejestracja: czw lis 15, 2018 7:24 pm

Re: Zmiana nazwy tabeli

Post autor: Zantor »

Czyli jak mawiał dr Emmett Brown - trzeba myśleć czterowumiarowo. I wszystko jasne.
Open Office 4.1.5
ODPOWIEDZ