반응형 Database331 GRANT and REVOKE 2. GRANT and REVOKE 2.1 GRANT GRANT는 user,group 혹은 모든 user들에게 해당 객체에 대한 사용권한을 승인한다. REVOKE는 user,group 혹은 모든 user로부터 객체에 대한 사용권한을 무효화한다. GRANT privilege [,...] ON object [,...] TO { PUBLIC | GROUP group | username} privilege SELECT : 특정 TABLE/VIEW 의 column에 대한 access 을 승인 INSERT : 특.. 2007. 6. 4. INDEX, SEQUENCE, FUNCTION(1) 1. INDEX, SEQUENCE, FUNCTION(1) 1.1 Create Index INDEX 는 데이타베이스내의 relation(테이블)에 대한 검색의 성능을 높여준다. CREATE [UNIQUE] INDEX index_name ON table_name (name_of_attribute); CREATE [UNIQUE] INDEX index_name ON table_name [USING acc_name] (column [ops_name] [,...]); CREATE [UNIQUE] INDEX index_name ON table_name [USING acc_name] (func_name() ops_name ); a.. 2007. 6. 4. 상속 상속 ==== CREATE TABLE capitals ( name text, population real, altitude int, -- (in ft) state char(2) ); CREATE TABLE non_capitals ( name text, population real, altitude int -- (in ft) ); 두 테이블을 만들어 다음과 같은 뷰를 만들면 모든 결과를 볼 수 있다. CREATE VIEW cities AS SELECT name, population, altitude FROM capitals UNION SELECT name, population, altitude FROM .. 2007. 6. 4. 트랜잭션 트랜잭션 ======== BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = ’Alice’; -- etc etc COMMIT; BEGIN ~ COMMIT/ROLLBACK을 쓰면 된다. 아래는 SAVEPOINT라는 키워드가 나온다.. BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = ’Alice’; SAVEPOINT my_savepoint; UPDATE accounts SET balance = balance + 100.00 WHERE name = ’Bob’; -- oops ... 2007. 6. 4. 테이블 만들기 테이블 만들기 ============= 테이블 만들기는 다른 DBMS와 유사하다. 역시 모델링이 문제다. 어떤 데이타 타입을 쓰는지도 중요하다. CREATE TABLE weather ( city varchar(80), temp_lo int, -- low temperature temp_hi int, -- high temperature prcp real, -- precipitation date date ); CREATE TABLE cities ( name varchar(80), location point ); 테이블을 삭제할.. 2007. 6. 4. psql 로그인 psql 로그인 =========== 필자는 Pervasive PostgreSQL 8.0.1을 설치하였다. 상용화 한다고 해서리.. Pervasive측에서도 앞으로 3년을 바라본다고 했으니 나도 앞으로 3년을 바라보고 천천히 익혀볼 것이다.. 무엇보다 좋은 것은 양질의 Demo 데이터베이스를 제공한다는게 좋다.. 다른 DBMS를 다루어봤다면 이것도 하나의 .. 2007. 6. 4. 데이터에 액세스 해보자 4. 데이터에 액세스 해보자 ========================= PostgreSQL은 ANSI-SQL(SQL92)에 맞게 설계되었다. 그러므로 ANSI-SQL에서 이야기하는 정보스키마뷰를 제공한다. c:\>psql UserDB yasi Password: Welcome to psql 8.0.0beta1, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands.. 2007. 6. 4. pssql 시작하기 PostgreSQL을 시작하면서... 2004년 10월 초.. PostgreSQL책을 별 기대감 없이 구입했다. 책의 목차를 둘러보고는 기쁨을 감출 수가 없었다. 열심히 판매되고 있는 상용DBMS와 견주어 공짜 DBMS라는 오명(?)은 나에게서 사라지고 말았다. 상용 DBMS에서 지원하고 있는 기능을 대부분 지원하고 있으며, 특정 DBMS는 없.. 2007. 6. 4. PostgresSQL 설치 1. 최신버전 다운로드 http://www.postgres.org 2. 압축풀기 (루트유저로 접속) # cd /usr/local/src # tar zxvf postgresql-7.3.4.tar.gz 3. 설치 (설치 및 사용자와 그룹 생성) # cd /usr/local/src/postgresql-7.0.3/src # ./configure --enable-multibyte \ --enable-locale \ --with-tcl # # make # make install # adduser postgres # chown -R postgres:postgres /usr/local/pgsql 4. .. 2007. 6. 4. PL/pgSQL - SQL Procedural Language 36.4. Declarations All variables used in a block must be declared in the declarations section of the block. (The only exception is that the loop variable of a FOR loop iterating over a range of integer values is automatically declared as an integer variable.) PL/pgSQL variables can have any SQL data type, such as integer, varchar, and char. Here are some examples of variable declarations: user_i.. 2007. 6. 4. pgsql설치후 php 모듈연결 php 소스가 필요합니다. $ tar xzf php-4.3.4.tar.gz 기존에 사용한 소스트리가 있으면 그대로 사용해도 됩니다. $ cd php-4.3.4/ext/pgsql $ phpize $ ./configure --with-pgsql=/usr/local/pgsql $ make 이제 modules 디렉토리에 pgsql.so 파일이 생성되었습니다. 이 파일을 extension_dir 로 복사하세요. $ cp modules/pgsql.so /usr/local/php-4.3.4/lib/php/ex.. 2007. 6. 4. 25가지 SQL작성법 번호 #128 /169 날짜 2003년2월25일(화요일) 9:43:57 이름 ds E-mail 제목 25가지 SQL작성법 1.데이터와 비즈니스 어플리케이션을 잘 알아야 한다. 동일한 정보는 다른 비즈니스 데이터 원천으로부터 검색될 수 있다. 이러한 원천에 익숙해야 한다. 당신은 당신의 데이터베이스 안의 데이터의 크기와 분포를 반드시.. 2007. 6. 4. 프로시저 생성 구문 DELIMITER $$; DROP;;;; PROCEDURE IF EXISTS osban.mem_info$$ CREATE PROCEDURE mem_info(memID char(12)) BEGIN ... 내용 입력 END$$ DELIMITER ;$$ 2007. 6. 4. 스토어드 루틴 및 트리거의 바이너리 로깅 17.4. 스토어드 루틴 및 트리거의 바이너리 로깅 바이너리 로그는 데이터 베이스의 컨텐츠를 수정하는 SQL명령문에 대한 정보를 가지고 있다. 이러한 정보는 수정 사항을 설명하는 “이벤트(Event)”형태로 보관되어 진다. 바이너리 로그에는 두 가지 중요한 목적이 담겨 있다: 리플리케이션의 경우, 마스.. 2007. 6. 4. 스토어드 프로시저, 함수, 트리거, 및 리플리케이션 : FAQ 17.3. 스토어드 프로시저, 함수, 트리거, 및 리플리케이션 : FAQ MySQL 5.0의 스토어드 프로시저 및 함수를 리플리케이션과 함께 사용할 수 있습니까? 예, 스토어드 프로시저 및 함수에서 수행되는 표준 동작은 마스터 MySQL서버에서 슬레이브 서버로 복사본이 전달됩니다. 이 기능에는 몇 가지 제약 사항이 있.. 2007. 6. 4. 플로우 컨트롤(Flow Control) 구성 17.2.10. 플로우 컨트롤(Flow Control) 구성 17.2.10.1. IF 명령문 IF search_condition THEN statement_list [ELSEIF search_condition THEN statement_list] ... [ELSE statement_list] END IF IF 문장은 기본적인 조건문을 제공한다. 만일search_condition 의 조건에 맞으면, 이에 대응하는 SQL명령문 리스트가 실행된다. 만일 search_condition 의 조건이 일치.. 2007. 6. 4. 커서(Cursors) 17.2.9. 커서(Cursors) 17.2.9.1. Cursors 선언하기 DECLARE cursor_name CURSOR FOR select_statement 이 명령문은 커서를 선언하는 것이다. 다중 커서는 루틴 내에서 선언될 수도 있으나, 주어진 블록내의 각 커서는 반드시 서로 다른 이름을 가져야 한다 . SELECT 명령문은 INTO 구문을 가질 수 없다. 17.2.9.2. Cursor OPEN 명령문 OPEN c.. 2007. 6. 4. 조건문 및 핸들러 17.2.8. 조건문 및 핸들러 17.2.8.1. DECLARE 조건문 DECLARE condition_name CONDITION FOR condition_value condition_value: SQLSTATE [VALUE] sqlstate_value | mysql_error_code 이 명령문은 특정 핸들링을 필요로 하는 컨디션을 표시한다. 이것은 명기된 에러 컨디션이 있는 이름과 관련을 갖는다. 그 이름은 DECLARE HANDLER 명령문에서 순차적으.. 2007. 6. 4. SELECT ... INTO 명령문 17.2.7.3. SELECT ... INTO 명령문 SELECT col_name[,...] INTO var_name[,...] table_expr 이와 같은 SELECT 신텍스는 선택한 컬럼을 변수에 직접 저장한다. 따라서, 오로지 단일 열(single row)만이 복구될 수도 있다. SELECT id,data INTO x,y FROM test.t1 LIMIT 1; 사용자 변수 이름은 대소문자 구분을 하지 않는다. Section 9.3, “사용자 지정 .. 2007. 6. 4. 변수 SET 명령문 17.2.7.2. 변수 SET 명령문 SET var_name = expr [, var_name = expr] ... 스토어드 루틴내의 SET 명령문은 일반적인 SET 명령문의 확장된 버전이다. 참조된 변수는 루틴 내에서 선언된 것이거나, 또는 글로벌 시스템 변수가 선언한 것이 될 수도 있다. 스토어드 루틴내의SET 명령문은 이미 존재하는(the pre-existing) SET 신텍.. 2007. 6. 4. 이전 1 ··· 12 13 14 15 16 17 다음 반응형