Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom
Bar]
Manuel Soriano


���ڿ��� �����ϱ�

����

ù��° �ܰ�

�Լ�

���� Review

���

SQL���� - PostgreSQL ��ġ

���: �� ª�� �ڽ��� �� �κ����� �̷������. ù��° �κп����� PostgreSQL�̶�� ���� �����ͺ��̽� ������ �̿��Ͽ� SQL�� ���� �Ϲ����� ������ �����Ѵ�. �ι�° �κп����� SQL ���ɾ ���� ���� �ڼ��ϰ� ������ �� ���̴�. ���������� ����° �κп����� SQL ���ɾ��� ���� �ɼǵ�� �츮 ������Ʈ�� ���õɸ��� PostgreSQL���� �Լ����� �˾ƺ��� ���������� ��� �͵��� �ϳ��� ��� ���׸� C ���α׷��� ���캼 ���̴�.




���� ��

����

�� ������ ���п��� �츮�� �����ͺ��̽�(DB)�� ���ؼ��� ����ϰڴ�. �ٸ� ������ �ڷᱸ���� ������ �װ͵鿡 ���� ���� �� �ڽ��� ������ ��� ���̴�.

�ֱٱ��� ������ �����ۿ� �׼����� �����ͺ��̽� ������ �� ���ǵ� ��ũ�� ���� ���������� ������ ��ü���� ���� �̷��������. �̷��� ������ �׼����� �ַ� �׼��� �ӵ��鿡�� ������ ���ϰ� �־����� Ŀ�ٶ� ������ �ִ�. ���� ��� ������ ���� ���� �����ϴ� ��ũ�� ���ؼ��� �����͸� �׼����� �� �ְ�,

     country -> states -> counties
�Ʒ��� ���̴� �� ���� ����.
     country -> counties
"->"�� ��ũ�� �ǹ��Ѵ�.

���� �ι�°�� ���� ���踦 ������� ������ �ٽ� �����ϰ� �ٽ� �������ؾ� �� ���̴�.

������, ������ DB������ �پ��� ��ü�� ������ ����� �����̸� DB ������ �����ϰ� �װ��� �ٽ� �������ؾ߸� ������ �� �ִ�.

������ �����ͺ��̽��� ���Ŀ� �ִ� �⺻���� ���̵��� ������ ��ũ�� �ʿ�� ���� �ʰ� ��ſ� �ϳ��� �������͸� �ٸ� �Ͱ� ������ �� �ֵ��� �����ڸ� �̿��Ͽ� ��Ȯ�ϰ� ���� ������ �����͸� �����Ű�� ���̴�.

���� ���� �������� �ƽ��Ǹ��̶� �Ծ�߰ڱ���. :)

������ �����ͺ��̽� �Ŵ����� ��ü���� ������ ���� �������� ���� ������ ��ũ�� �ʿ�� ���� �ʴ´�. ��ſ� ������ ����μ� �Ͻ����� ���踦 ����� ���ȿ� �̷��� ��ü�� �����ϰ� �Ǵ� ���� �ڵ带 ����Ѵ�.

�׷��� ������ �ڵ��� ���̴�. ���� ��� �� ��ȭ��ȣ��

1234567

�� �ƴ϶�

34 6 1234567

�̴�.

��Ȯ�ϰ� �� ��ȭ��ȣ�� country code(34), state code(6) �׸��� ������ device number (1234567)�� ���еȴ�.

  • country�� ���տ��� �ڵ� 34(������)�� �����ϴ�.
  • state�� ���տ��� �ڵ� 34-6 (������/�߷�ġ��)�� �����ϴ�.
  • device�� ���տ��� �ڵ� 34-6-1234567(������/�߷�ġ��/�� ��ȭ��ȣ)�� �����ϴ�.

��� ����� ���� �����ϴ� ù��° �⺻������ �����غ���.

     ��� county���� state�� country�� ���ϴ� �ڵ带 ���ϰ� �ִ�.
     ��� state���� country�� ���ϴ� �ڵ带 ���ϰ� �ִ�.
     ��� country���� �ڵ带 ���ϰ� �ִ�.

state���� ��� county�� ã�� ���� country �ڵ�� county�ڵ带 ���� county�� state�� ������Ų��. country���� ��� county�� ã�� ���� country �ڵ忡 ���� county�� country�� ������Ų��. �̷��� ������� �Ͻ����̸� ���ǵǴ� ���ȿ��� �����Ѵ�.

���� ���̰����ϰ� �����ϱ� ��������� ó���� �� ������� �ڵ�� �Ҽӿ� ���� ������ ��Ȯ�����⸦ �ٶ���.

DB �Ŵ����� ù��° ���Ǹ� ������ DB �Ŵ����� ��� ����� ������ �����۵��� �����Ѵ�. ������ � �����͸� ���� �ް� �ɱ�? �װ��� country�� county �������� �����̸� ��� county�� ���� ������ country �������� �ް� �� ���̴�.

ù��° ���ǿ��� �̸��� ���� ���ο� ��ü�� ���ڱ� �����Ǹ� �װ��� country�� county�� ������ �����Ѵ�. �̷��� ���ο� ��ü�� �ٽ� ���ǰ� ������ ���� ������� �ȴ�.

���� �츮�� �������� ������ "����"�̶�� �ҷ���. ������ �������ͷ� �̷���� ������ ������ �������ʹ� "�ʵ�"�� ������ �ִ�. ������ �����ͺ��̽������� "����"�� ���̺��̸� ���̺��� ��(row)�� ������ �ǰ�, ������ �࿡�� column�� �ִ�. �̰��� ���� �ణ�� ǥ������ ��ȭ�� ���̴�. ;-)

��� DB �Ŵ������� �׼��� ���μ� SQL�� ����Ѵٴ� ���� ���ϰ� �ʹ�. ������ �̰��� Ư���� ����� ���̴�. SQL���� ���� ������ �����ͺ��̽� �Ŵ����� ���������� ������ �ִ� Ư�� ���� �ϳ��̴�.

SQL�� ������ �˾ƺ��� ���� �츮�� ������ �����ͺ��̽� �Ŵ����� PostgreSQL�� ����� ���̴�. SQL ��Ģ�� ������ ���յ����� ������ �츮�� �������� ����� �� �� �ְ�, ���� �����̵��� �۾����� �˸´� �ſ� ���� �����ͺ��̽� �Ŵ����̴�.

�� ���� ������ SQL���� �����Ͽ� ��ġ ������ �����ϰԸ� ������ ���ڴ�. �켱 www.postgresql.org�κ��� �ʿ��� �ҽ��� �ٿ�ε� �޵��� ����. ���� ��� ������ ��ġ�鵵 �ٿ�ε� �޴´�. �ҽ����� ������ ���丮�� ������ Ǯ��(tar zxvf), cd postgresql-6.3

cd src
./configure --prefix=/the/desired/path
make all >& make.log &
tail -f make.log

export PATH=$PATH:/the/desired/path/pgsql/bin
export MANPATH=$MANPATH:/the/desired/path/pgsql/man
export PGLIB=/the/desired/path/pgsql/lib
export PGDATA=/the/desired/path/pgsql/data

initdb
createdb test
psql test
Welcome to the POSTGRESQL interactive sql monitor:
  Please read the file COPYRIGHT for copyright terms of POSTGRESQL

   type \? for help on slash commands
   type \q to quit
   type \g or terminate with semicolon to execute query
 You are currently connected to the database: postgres

test=>
�̰��� postgres�� ������Ʈ�̴�. ���� ���ɾ �����ų �� �ִ�.
mytest=>create table mytest (field1 varchar(10));
CREATE

mytest=>insert into mytest values ('hello');
INSERT number 1

mytest=>commit work;
NOTICE:EndTransactionBlock and not inprogress/abort state
END

mytest=>select * from mytest;
field1
------
hello
(1 row)

mytest=>drop table mytest;
DROP

mytest=>Ctrl-d
�̷��� �ϸ� SQL �ֿܼ��� ����������.

Postgres95�� �����ϰ� ��ġ���� ������ ����ٸ� �������� ��Ʈ���丮�� �ִ� INSTALL ������ �����ϱ� �ٶ���.

�� �ٸ� �鿡 ���� ����غ���. ������ �����ͺ��̽� ������ �Ϲ������� ������ ���� �κе�� �̷������.

  1. Data access layer
  2. SQL processing layer
  3. SQL parser layer
  4. Communications layer
�츮�� Ŭ���̾�Ʈ�� 4��° ���̾ ����Ǹ�, SQL ���ɾ ������ parser layer�� ���޵ȴ�. �̰��� ���ɾ �����ϰ� ������ ���� ��쿡 �䱸������ �ι�° ���̾�� ������. ��� ���ǿ� ó���� data access layer�� ������ �޾Ƽ� �ι�° ���̾�� �̷������. communications layer�� ���ؼ� �������� ����, ������ ���� ���� �̷������. SQL processing layer�� ��Ȯ�� �������� ���۰� ����ó��, ���ͷ�Ʈ�� ��� �����ϸ鼭 Ŭ���̾�Ʈ���� ��ȭ�� �����Ѵ�.

ù��° �ܰ�

�������δ� ���ݱ��� ����� ������ ������ �Բ� �����ϰڴ�. �� ���� ���̺�(�Ǵ� ����)�� ������.

File: countries.sql
create table countries (cod_country integer, name varchar(30));
insert into countries values (1, 'country 1');
insert into countries values (2, 'country 2');
insert into countries values (3, 'country 3');
commit work;
File: states.sql
create table states (cod_State int, 
			cod_country int, 
			nam_State varchar(30));
insert into states values (1, 1, 'State 1, Country 1');
insert into states values (2, 1, 'State 2, Country 1');
insert into states values (1, 2, 'State 1, Country 2');
insert into states values (2, 2, 'State 2, Country 2');
insert into states values (1, 3, 'State 1, Country 3');
insert into states values (2, 3, 'State 2, Country 3');
commit work;
File: counties.sql
create table counties (cod_country int, 
			cod_state int, 
			cod_county int,
			nam_county varchar(60));
insert into counties values (1, 1, 1, 'County 1, State 1, Country 1');
insert into counties values (2, 1, 1, 'County 2, State 1, Country 1');
insert into counties values (3, 1, 1, 'County 3, State 1, Country 1');
insert into counties values (1, 2, 1, 'County 1, State 2, Country 1');
insert into counties values (2, 2, 1, 'County 2, State 2, Country 1');
insert into counties values (3, 2, 1, 'County 3, State 2, Country 1');
insert into counties values (1, 3, 1, 'County 1, State 3, Country 1');
insert into counties values (2, 3, 1, 'County 2, State 3, Country 1');
insert into counties values (3, 3, 1, 'County 3, State 3, Country 1');
insert into counties values (1, 1, 2, 'County 1, State 1, Country 2');
insert into counties values (2, 1, 2, 'County 2, State 1, Country 2');
insert into counties values (3, 1, 2, 'County 3, State 1, Country 2');
insert into counties values (1, 2, 2, 'County 1, State 2, Country 2');
insert into counties values (2, 2, 2, 'County 2, State 2, Country 2');
insert into counties values (3, 2, 2, 'County 3, State 2, Country 2');
insert into counties values (1, 3, 2, 'County 1, State 3, Country 2');
insert into counties values (2, 3, 2, 'County 2, State 3, Country 2');
insert into counties values (3, 3, 2, 'County 3, State 3, Country 2');
insert into counties values (1, 1, 3, 'County 1, State 1, Country 3');
insert into counties values (2, 1, 3, 'County 2, State 1, Country 3');
insert into counties values (3, 1, 3, 'County 3, State 1, Country 3');
insert into counties values (1, 2, 3, 'County 1, State 2, Country 3');
insert into counties values (2, 2, 3, 'County 2, State 2, Country 3');
insert into counties values (3, 2, 3, 'County 3, State 2, Country 3');
insert into counties values (1, 3, 3, 'County 1, State 3, Country 3');
insert into counties values (2, 3, 3, 'County 2, State 3, Country 3');
insert into counties values (3, 3, 3, 'County 3, State 3, Country 3');
commit work;

SQL ���ɾ�� ������� ������ pgsql���� ������ ���� ������� ����� �� �ִ�.

\i file_name

���� �����ϰ� cut & paste����� �̿��Ͽ� ���ɾ ������� ���� �ִ�.

���� � county���� �ִ����� �˾ƺ���.

manu=> select * from counties;
cod_country|cod_state|cod_county|nam_county
-----------+---------+----------+----------------------------
          1|        1|         1|County 1, State 1, Country 1
          2|        1|         1|County 2, State 1, Country 1
          3|        1|         1|County 3, State 1, Country 1
          1|        2|         1|County 1, State 2, Country 1
          2|        2|         1|County 2, State 2, Country 1
          3|        2|         1|County 3, State 2, Country 1
          1|        3|         1|County 1, State 3, Country 1
          2|        3|         1|County 2, State 3, Country 1
          3|        3|         1|County 3, State 3, Country 1
          1|        1|         2|County 1, State 1, Country 2
          2|        1|         2|County 2, State 1, Country 2
          3|        1|         2|County 3, State 1, Country 2
          1|        2|         2|County 1, State 2, Country 2
          2|        2|         2|County 2, State 2, Country 2
          3|        2|         2|County 3, State 2, Country 2
          1|        3|         2|County 1, State 3, Country 2
          2|        3|         2|County 2, State 3, Country 2
          3|        3|         2|County 3, State 3, Country 2
          1|        1|         3|County 1, State 1, Country 3
          2|        1|         3|County 2, State 1, Country 3
          3|        1|         3|County 3, State 1, Country 3
          1|        2|         3|County 1, State 2, Country 3
          2|        2|         3|County 2, State 2, Country 3
          3|        2|         3|County 3, State 2, Country 3
          1|        3|         3|County 1, State 3, Country 3
          2|        3|         3|County 2, State 3, Country 3
          3|        3|         3|County 3, State 3, Country 3
(27 rows)
manu=>
27���� ���� ��µǾ����� pgsql�� ���� ���ɾ ��ٸ��� �ȴ�.
������ ���� ������ ��������.
manu=> select * from countries, states;
cod_country|name     |cod_state|cod_country|nam_state
-----------+---------+---------+-----------+------------------
          1|country 1|        1|          1|State 1, Country 1
          2|country 2|        1|          1|State 1, Country 1
          3|country 3|        1|          1|State 1, Country 1
          1|country 1|        2|          1|State 2, Country 1
          2|country 2|        2|          1|State 2, Country 1
          3|country 3|        2|          1|State 2, Country 1
          1|country 1|        1|          2|State 1, Country 2
          2|country 2|        1|          2|State 1, Country 2
          3|country 3|        1|          2|State 1, Country 2
          1|country 1|        2|          2|State 2, Country 2
          2|country 2|        2|          2|State 2, Country 2
          3|country 3|        2|          2|State 2, Country 2
          1|country 1|        1|          3|State 1, Country 3
          2|country 2|        1|          3|State 1, Country 3
          3|country 3|        1|          3|State 1, Country 3
          1|country 1|        2|          3|State 2, Country 3
          2|country 2|        2|          3|State 2, Country 3
          3|country 3|        2|          3|State 2, Country 3
(18 rows)
18�� ??? �츮�� 3���� country�� 6���� state�� �Է��߰�, ��� �� ���� country�� �ǹ��Ѵ�. ��� 18���� ���� ���� �� ������?

������ ���ɾ�� �� ���̺� ������ ���Ͽ��� �����ߴ�. �츮�� country�� ���̺��� county�� ���̺��� �������״�. union exclusion rule�� ���� ���������� �ʾұ� ������ pgsql�� ��� state�� ���õ� ������ country�� ��� (���� ��� country�� 3 ���ϱ� state�� 6�� �ϸ� 18���� �ȴ�) �����ش�. �̷��� ����� �����ϰ� ��������̰� ������� ���̴�. ������ ���� �� �־��ٸ� �� ������ ���̴�.

manu=> select * from countries, states
manu-> where countries.cod_country = states.cod_country;
cod_country|name     |cod_state|cod_country|nam_state
-----------+---------+---------+-----------+------------------
          1|country 1|        1|          1|State 1, Country 1
          1|country 1|        2|          1|State 2, Country 1
          2|country 2|        1|          2|State 1, Country 2
          2|country 2|        2|          2|State 2, Country 2
          3|country 3|        1|          3|State 1, Country 3
          3|country 3|        2|          3|State 2, Country 3
(6 rows)
���� ���� ���� ���δ�. 6���� ��, ���� ������?

�׷���. 6���� county�� ������ ��� county���� country �ȿ� �ִ�. country�� county�� �ڰ��� �ֹǷ� county�� ������ �Ȱ��� ���� ���� ����� �޴� ���� �մ��ϴ�. �츮�� ��� country�� ���̺��� country �ڵ带 ���� county�� ���̺��� �������״�. country�� �ڵ带 ���ϸ�, county���� �׵��� ���� �ִ� ������ �ڵ带 ���Ѵٴ� ���� �������.

�� countries.cod_country = states.cod_country �ΰ� ?

country�� ���̺� ���� country �ڵ�� cod_country�̸� county�� ���̺������� ���������̴�. �׷��Ƿ�

cod_country = cod_country
�� ��������̴�. ���������ʹ� �� �߿� ��� ���� ������� �������� ���ϰ� ������ ������ ���̴�.
select * from countries, states
		where cod_country = cod_country;

ERROR:  Column cod_country is ambiguous 
��������, �츮�� �÷��鿡 ���ؼ� aliasis�� ����� �� �ִ�.
manu=> select * from countries a, states b
manu-> where a.cod_country = b.cod_country;
cod_country|name     |cod_state|cod_country|nam_state
-----------+---------+---------+-----------+------------------
          1|country 1|        1|          1|State 1, Country 1
          1|country 1|        2|          1|State 2, Country 1
          2|country 2|        1|          2|State 1, Country 2
          2|country 2|        2|          2|State 2, Country 2
          3|country 3|        1|          3|State 1, Country 3
          3|country 3|        2|          3|State 2, Country 3
(6 rows)
�Ŵ����� �����ϴ� ������?: cod_country, name, cod_state, cod_country y nam_state.

"select * from countries, states"��� ���Ǹ� �ߴµ� ���ϵ�ī�� *�� ��� ���� �ǹ��ϹǷ� �츮�� countries�� �ش��ϴ� �� ���� �÷��� counties�� �ش��ϴ� �� ���� �÷��� ��� �ȴ�. ���� �� �� ü������ ������.

manu=> select a.cod_country, cod_state, name, nam_state
manu-> from countries a, states b
manu-> where a.cod_country = b.cod_country;
cod_country|cod_state|name     |nam_state
-----------+---------+---------+------------------
          1|        1|country 1|State 1, Country 1
          1|        2|country 1|State 2, Country 1
          2|        1|country 2|State 1, Country 2
          2|        2|country 2|State 2, Country 2
          3|        1|country 3|State 1, Country 3
          3|        2|country 3|State 2, Country 3
(6 rows)   
������ ���ɾ�� country code, state code, country�� state �� �̸����� �����ϰ� �䱸�ߴ�. a.cod_country�� ���� � �÷� ���� ���̺��� �����߰�, nam_state�� ���� � �÷����� �������� �ʾҴµ�, �̴� nam_state�� states���� �����ϴ� �ݸ� cod_country�� �� ���̺� ��ο� �����ϱ� �����̴�. ������ �÷� �̸��� Ư���� ������(qualifier)�� �ʿ�� ���� �ʴ´�.

���� �� �����ϰ� ������:

manu=> select a.cod_country, cod_state, name, nam_state
manu-> from countries a, states b
manu-> where a.cod_country = b.cod_country
manu-> and a.cod_country = 3;
cod_country|cod_state|name     |nam_state
-----------+---------+---------+------------------
          3|        1|country 3|State 1, Country 3
          3|        2|country 3|State 2, Country 3
(2 rows)
�̹����� country ��ȣ�� 3�� �͸��� �˻��ϵ��� �����ߴ�.

�Լ�

�� ���� ���� �Լ��� count()�� ���� ����:
select count(*) from states;

count
-----
   27
(1 row)
���� ������ county�� ���̺��� ��� �ִ� ���� ���� �����Ѵ�:
manu=> select cod_country, count(*) from states
manu-> group by cod_country;
cod_country|count
-----------+-----
          1|    2
          2|    2
          3|    2
(3 rows)
���� ���� ���� country code�� ���� ���� ���� �����ش�. �׷��� �ϱ� ���ؼ� cod_country�� ����� ���̴�.

������ ���� �� ���� ���� �ִ�:

manu=> select name, count(*) from countries a, states b
manu-> where a.cod_country = b.cod_country
manu-> group by name;
name     |count
---------+-----
country 1|    2
country 2|    2
country 3|    2
(3 rows)
�Ȱ��� �� ���� ���� ��µǾ����� �̹����� ���ϵ� ������ ���� ��Ȯ�ϴ�.

���ݱ����� ���и� �̾߱��ߴ�. ���־��̾��� ������ :-)

���� Review

���ݱ��� SQL�� ��� �⺻���� ������� �˾ƺ��Ҵ�. ���� �ǹ��ִ� ���� SQL ��ü�� ���信 ���� ���̴�. �츮�� ���� �� �̻� ����ȭ�� �����͸� �ٷ�� ���� �ƴ϶� ������ ��ü�� �ٷ��. ������ ��ü�� �����ͺ��̽��� �߻����� �����̴�. �ܼ�ȭ��Ų�ٸ� "������ ��� �� �߿��� ���� ���ϵ� �κ�"�̶�� ������ �� ���� ���̴�.

�Ʒ��� ���� ���ɾ���� �˾ƺ��Ҵ�:

CREATE TABLE �ش��ϴ� �÷����� ���� ���̺��� �����Ѵ�.
DROP TABLE ���̺��� �����Ѵ�.
SELECT �� ���ɾ�� SQL�� ���ʰ� �Ǵ� ���ɾ��, �ʿ��� ������ �����۸��� �����ϴ� �ӽ� ���̺��� ����� �� �ش�. SELECT�� �Լ�, ���ձ����� ���� sub_selects�� ���ڷ� ���� �� �ִ�:
select count(*) from states
	where cod_country in (select cod_country from countries);

count
-----
   27
(1 row)
BEGIN WORK �� �ٸ� �⺻ ���ɾ� ���� �ϳ��̴�. �� ���ɾ�� DB �Ŵ����� BEGIN WORK ���� ������ ��� �������׵��� ó���ϵ��� �Ѵ�. �츮�� �ٷ�� DB �Ŵ������� BEGIN WORK�� transaction�� �ʱ�ȭ�� �ǹ��ϸ�, �ٸ� �Ŵ����鿡���� �����ͺ��̽��� ������ �ٲٴ� ù��° ���ɾ���� �ʱ�ȭ�ȴ�. PostgreSQL������ BEGIN WORK�� ���� ���ٸ� �����͸� �����Ű�� ��� ���۵��� �ٷ� ó���ȴ�.

NOTE: �����ͺ��̽��� ������ �ٲٴ� ���ɾ���� COMMIT WORK�� �����ϹǷ� transaction�� ���� ���¿��� �׷��� ���ɾ ����Ǹ� transaction�� �ٷ� ������ ROLLBACK WORK �� �����ϴ� ���� �Ұ���������.

�� ����ڰ� ���� transaction�� ������ ���� ��쿡 �� ����ڴ� ���� �����Ϳ� ���� �ٸ� ����ڵ��� ���ٱ����� ������ �� �ִ�:

  • Modified data
  • Original Data previous to the transaction
  • Block data access
  • COMMIT WORK �������׵��� ó���ϸ鼭 transaction �� �ݴ´�. ROLLBACK WORK�� �����͸� ������ transaction ������ ���·� �ǵ��� �ش�.


    transaction�� ������ ������ ���� ��쿡 ������ ���·� �ǵ����شٴ� ������ �ſ� �߿��ϴ�. ������ ���� �۾��� �� ����. �켱 "rollback work" �������� ������ ��� transaction�� ����:

    manu=> select * from countries;
    cod_country|name
    -----------+---------
              1|country 1
              2|country 2
              3|country 3
    (3 rows)
    
    �� ���� ���� �ִ�.
    begin work;
    
    transaction�� �����Ѵ�.
    insert into countries values (5, 'Country Not True');
    
    ���� �ϳ� �����Ͽ���. ���� ��� ���� �ִٴ� ���� Ȯ���غ���.
    manu=> select * from countries;
    cod_country|name
    -----------+----------------
              1|country 1
              2|country 2
              3|country 3
              5|Country Not True
    (4 rows)
    
    ���ôٽ��� ��� ���� �����Ѵ�. ��������,
    rollback work;
    
    ��� �ϸ� transaction�� ����ϰ� �ȴ�.
    manu=> select * from countries;
    cod_country|name
    -----------+---------
              1|country 1
              2|country 2
              3|country 3
    (3 rows)
    
    ���� ������ Ȯ���� ���� ������ 3���� ������ �ǵ��ư����� �� �� �ִ�.

    INSERT �̹� �� �ٿ� ���� �� ���ɾ�� ���̺��� ���ɾ ����ִ´�.
    CREATE TABLE �� �ٸ� �߿��� ���ɾ�� ���̺��� �÷����� �����Ѵ�. �ٷ� �� �ִ� �ڷ������� �˾ƺ���:
    char(range): (range)����Ʈ��ŭ�� ������ ���̸� ���� ���ڿ�
    varchar(rango): (range)����Ʈ���� ������ �� �ִ� ������ ���ڿ�
    int2: 2����Ʈ�� ������ 2**-15 - 2**15
    int4: 4����Ʈ�� ������ 2**-31 - 2**31
    money: �����Ҽ��� ������, ���� ��� money(6,3)�� �Ҽ������� 3�ڸ��� 6���� ���ڷ� �� ���� ����Ų��.(123.456 765.987 �� ����������..)
    time: �ð�, ��, ��, 100���� 1�ʴ����� �ӽ����� �ð� �ڷ�(HH:MM:SS:CCC)
    date: ����, ��, ���� �����ϴ� ��¥�ڷ�. YYYY/MM/DD
    timestamp: YYYY/MM/DD:HH:MM:SS:CCC �� ���� ǥ���Ǵ� ��¥, �ð� �ڷ���.
    float(n): ������ �Ǽ��� �ڷ�.
    float3: ������ �Ǽ��� �ڷ�.
    �ڷ����� ���Ǵ� �� ������ SQL �Ŵ����� ���� �ٸ���. ���� SQL ǥ����(���� �ֱ��� ���� ANSI/92�Ǵ� SQL/3�� �ִ�)�� �� Ư¡�� �Բ� ��� �ڷ����� �����ϱ⵵ �Ѵ�. �� ���¿��� �츮�� PostgreSQL�� ���ѵ� �ڷ����� ���� ���� ���� ���̴�.
    DELETE ���̺��� ���� �����.
    UPDATE ���̺��� ���� �÷����� �����Ѵ�.

    ���

    ���� �길�ϱ� ������, SQL�� ������ �����ͺ��̽��� ��ġ � ���� �˾ƺ��Ҵ�.

    SQL�� �츮�� �ڷ��� ����� ���� �����ϸ� �츮�� �ʿ信 ���� ������ �� �ְ� �� �ش�.

    ���ݱ��� ���캻 ���� ���� � ����� �̿� ���� ���� �� �ִ�: application �ȿ��� SQL�� ��� �� ���ΰ�?

    ������ ���� �� ���� �ϳ��� �˰� �� ���̴�. ����° �ۿ��� �츮�� SQL�� ����ϴ� ª�� C ���ø����̼��� ������ ���̴�.


    �ѱ� ����: ��ȯ��


    �� ������Ʈ�� Miguel Angel Sepulveda���� ���� �����˴ϴ�.
    © Manuel Soriano 1998
    LinuxFocus 1998