���������� ��������������� ����������� �����������
����� �.�.�������
������� ����
������ ����� SQL
������� �.�.
fedoruk@wwwcdl.bmstu.ru
263-65-26
���������
������ ������� ������� ������������� ��� �������� ����� ����� SQL - ������������
����� ��������������� ������� � ����, ����������� ����������� ������ ������.
����������� ��������� �������� ����������� ���������� ����� SQL, ����������
�������. ����������� ������ ����������� � ������������� ������ ���������
���� ������.
������� ���� ������ ����������� � ����� ���� mySQL, �������� �������
� ��� �������� � ������� �������.
����������
������� �������� �� ������
������ ���������� ����� SQL
������� ���� ������
���� ������ ����� SQL
��������������� ���������
���������� ����� � �������
������� ������ �� ������
��������������� �������� ������
����������
����������
������� �������� �� ������
���� SQL (Structured Query Language - ����������������� ���� ��������)
������������ ����� ����������� ��������������� ���� �������� ������ � ���������������
��� � �������� ���������� ������ ������ (����), ����������� �� ������ �����������
������ ������ [1 ].
���� SQL ��� ���������� ������ IBM � ����� 70-� �����. ������ �������������
�������� ����� ��� ������ ������������� ����������������� ������������
ISO � 1989 �. [2 ], � ����� (����� ������) - � 1992
�. [3 ]. � ��������� ����� ��� ������������� �����������
���� ������������ � ��������� �������� ������������ �������� SQL92.
������������ ���������� ������������� ������ (��� ����������, ��� �
���������) � ����������� ���� ������ (��) �������� ��������� �������. �����
������� ����� ��������������� ��� ���� �� ���� ������������� ���������-��������������
������� ��������� (relation), ������ �������� ������ ������ - ?�����������?.
� ����������� ������ ������ ������� �������� ���������� ��������� ����������:
���������������� ���������� ������;
����� �������� (��� �������, ����������) ��������� ���������� ��������;
����� �������� (��������, �������) ����� �����;
������� ������� ���������������� ������ ����������� ������� � ��������;
���������� ���� ����� ������� ����������� ������ ���� ������ (�.�. �������
���������), ���������� ������ ������� �� ����� ���� �������;
������ ������� �� ����� �����-���� ��������������� � ���������������� ������
����� ���������� (�.�. ������� ?����� ������? �� ����������);
� ����� ������ ������ ������� ����� ���������� ?�������? (�.�. �� ���������
������-���� ��������), ����� �� ��������� ������������ ��� NULL.
���������� . ���������� ����� � ����, ��� ������� ������������� ����
���������� ����������� ������ (� ����� ������ � ������� ����������� ������)
����� ����� ����� ��������������� � �� ���������� ������������ � ������
���.
�� ���������� ������ ��������� ����������� ����������� � ����:
���������� ������������ ����������� ������ ������ ������-���� ������� �/���
������������ ����� � ������, ����������� � ���������� ��������;
������� ��� ������-���� ������� (��������) ����� ?������? (NULL) ������.
����������� � ���� ���������� ������������ ����� ������� � �������� �����
�������. ������ ������� ���������� ������� ��� ���������� ��������,
���������� ����� ��������(��) ������������ ��� ������� ������� (?��������?
����������� ��������������) � ������� �������. ��������� ����� ���������
(�� ����� ���� ������ ������������ ��� ������ �������) � ���������. ���������
���� �������� � ���������� �������������� ������ �������. ������� ������,
������������ � �������� ���������� �����, �� ����� ��������� ?������? (NULL)
�������� � �����-���� ����� ������. ��������� ���� ���������� ��������������,
� ����� ������, �� ����� ������ �������, � ���������� ?��������? (� �����
������ ������� ������ � ���, ���� �� � ����� ������� ��� ���� ���������).
����� ������������ ����������� ����������� ���� ��� ����������� ������
�� ������ � ������� ������ (�����, ��������, �� ����������� ������������
�� ��������� ������ ��� ���������� ��������� ������ ������).
��������� ���������� ��� ��������� �������� ���������.
�������� - ���������� ����� ������� �� �������� ����� ���������
� ��� ��������� �������� �������� �������.
����������� - ���������� ����� ������� �� �������� ����� ���������
� ��� ��� ����� �������� �������, ������� �������� ���������� ��������
� ���� ����������� ������� (�����������).
����������� - ���������� ����� ������� �� 2-�� ��� ����� ��������
����� ��������� � ��� ���� ����� �������� ������ (��� �������, �������,
��� ��� �������).
��������� ������������ - ���������� ����� ������� �� 2-�� ��� �����
�������� ����� ��������� � ��� �����, ������������ ����� ���������� ����������
������������ (�������) ����� �������� ������. ���������� ����� ����� �������
������������ ��� ������������ ��������� ����� ���� �������� ������.
������������ ���� 4 �������� ������� �����, �� ������ �������� ����� ����
��������� ����������� (�� �� ���) ����������� �������� �������� �� ����������
���������� �� ����������� ��.
���������� . ����� �������� ����� ������, ���� ��������� ���
���������� ����������� � ���������. ������ � ������ ������� ����������
���� �������� � ����� SQL �� ���������������.
����� ������������� ���� � ����� SQL ����������� �������� �����������
����������� ����� ������� � ���������� ������� ������ �������� (��� ������������
����� ��������������� ��� �������� �����������), � ����� �������� ����������
���������.
������������� ���� �������� ��� ��������� ����������� �� ������� ��������������
��������, ������ ����������� �� �������� � ����� ?������? ������������
����, ��� �������, ������ ������������ (� ������ ������� ��� ���������
� ���������� �������� ����������� � ����������� ������������). ������������
�������� ����������� ���� ��������� �� ������������ ������� � ?����������?
��� ��������� �������������� ������ (� ������ �������, ��������� �������)
��� ���������� ���� ��������. ����� ��������, �������� ��������� � �����
SQL, ��������� ������������� ���������� �������� � ����������� ����
�������� ������������� ������ ��������.
�������� ���������� ������� �� ������������ ��������������� �����������
���������, �������������� ������ (��� ?�����?-������) ����� ������� � �������
�������, ����������� ��������� ���������������� �������� ���� ����� �������
��� ����������� ���������� ���������� �������� ������. ������� �������
������� (������� �� ������������) ������������� ��������� ��� ���� ������
�������.
� ��������� ����� ���������� ��������������� �������� �����������
SQL ���� ���� �����:
������ ������� ������������ ����, ��������������� �� �������� ��������
������� ���������� (�� ��������);
��������� ���������� �������� ���������������� (� ��� ����� � � ��������
�����) ����, ������������� ������� ��������� � ��� �� ������� ����� ����
� ������� ��������.
�������� ���������� ���� ������ ������ ��������:
� �������� ���������� ���� ������ ������ ���������:
� ������ ������� ������� ������������ ����������, ������� ����� ���������
����������� ����� �������� ����� ����� SQL, ����������� ���������� ����
mySQL.
��� ������������� ���� ���� ��������� �� �������� ?������-������?, ���
��� �������� �� ������� ����.
SQL-������ ��������� ���������� �������� ������ � ��������������� ���.
�� ��������� ������� �� ����� SQL �� ����� ��������, ��������� �� � ����������
���������� (���� ����� � ���� ����� ����������� ������) ��������. ��� �������
� ��������� ������������ ����������� �������� (��� �������, �������������
� ���� ��������� ����������� ������ ����� ������� ���������� TCP/IP ).
���������� ����� ���� ���������� ������� ���� �������� �����.
������������� �������, �������������� ������������-�������� �����������
������� � SQL-�������� ��������������� � ������� ����� SQL.
���-�������, �������������� ��������� ����������� ���������������� (���)
���������� ����������, ������������ �������� SQL-�������. ����� ��� �����
���� ��������� ������� ���������� ��������� � SQL-�������� �� ����� SQL
��� ������� ����������� ������� ������� � ����������� SQL �� ��� ������������
���������� ����� �������� (��������, ����������� ��������� ODBC).
WWW-�������, ������������ � World Wide Web-������� � �������������� ������
� �������������� ������������ SQL-������� ������������� ���� Internet ��
��������� HTTP (��������� �������� �������������� ����������).
������ WWW-������ ���� mySQL ������������ � ������� ������� ��� ����������
������������ ����������.
������ ���������� ����� SQL
?���������? �� ����� SQL ������������ ����� ������� �������� ������������������
���������� ����� SQL. ���� SQL � ����� ?������? ���� ���������� ����������
�������� ���������� �������� � �� (���� ������, ���������, ���������) ��
�����.
��������� ����� SQL �������� � �����������:
����������������� �������� ����;
��������������� (����) ������ � �������� ������;
����������, �������������� � ��������� ���������, ������������ ��� ������������
��������� ������ ���������� � �� � ��� ���������� �������� ����� ��������������
������;
��������������� (����) �������� � �������, ������������ � ����������.
��� �������� �����, ����� ������� �, ��� �������, ����� ������ � ��������
�������������� 7-��������� ��������� ��������� ASCII (����� ������ - ����������
�������).
� ����� SQL �� �������� �������� ����� ���������� (��������) � ���������
(����������) �������, �.�., ��������, ������ ?SELECT?, ?Select?, ?select?
������������ ����� ���� � �� �� �������� �����.
��� ��������������� ���� ������ � �� �������� ��������� ������������
�����, ����� � ���� ?_? (�������������), �� ������ �������� ����� �����������
������ ���� �����.
��������� ������������� �������� ���� � ���� ������� � �������� ���������������
������ � ���� ��������. ������ ������ �������� ���� � ���� ������� (� ��
������ �������) ����� ����� � ������������ �� ���������� ����.
�������� ���������� � ��������� �����-������� (��������, ?CREATE? -
�������, ?UPDATE? - ��������, ?SELECT? - ������� � �.�.) � �������������
������ ?;? (����� � �������). �������� ������������ � ��������� �������
� ����� �������� ��������� �����. ����������� ������������� �����������
������ � ��������� ��������:
���� ��� ��������� ��������,
���� ��� ��������� �������� ���������,
���� ��� ��������� �������� ?����� ������?.
��� �������� ���������� ����� SQL � ������� ������� ������������ ���������
����������.
���������� (��������) ������� (�������, SELECT, FROM, WHERE) ������� �����������������
�����.
�������� (��������, ���_���� , �����_������� ) ������� ����������
(�������������� �������), ���������� ������ � �������� ��������� ������������
�� ������������ �������� (���������������, ������ ��������, ���� �������
� �.�.).
� ���������� ������ (?[...]?) ����������� �������������� ����� ���������,
������� ����� �������� ��� �������� ��������� ��������� (���� ����������
������ � ����� ��������� �� ����������).
������������ ����� (?|?) �������� ����������� ������ (?���?) �� ���� ���
���������� ��������� �������������� ����������� (���� ������������ �����
� ����� ��������� �� ����������). ������������ ������� (��������, � ?[
ALL | DISTINCT }?) �������� �������������.
������������������ �������� ?, ...? ���������� ����������� ���������� ������������
���������� ��� (� ��� ����� � �������) �������������� ������� �����������.
������ ?,? ���������� � �������� �������� � �������� ����������� �����
������ ����������� �����������.
� ���������, ������������ �������� ���� ����������� ���������� � ������������
���������� ����� SQL � ����� ������������. ������� ����������� ��� �������������
� ��������� ���� � ������� ?��������? �� ����� SQL ����� ���������� ����������
���������:
�� �������� ������ (?--?) �� ����� ������;
�� ������� ?#? �� ����� ������;
����� �������������������� ?/*? � ?*/? (����� ������������ ����� ��).
������� ���� ������
� �������� ������� � ������� ������� ��������������� ��, ���������� ����������,
������������ ��� ������� ��������� (�������) ������ ������� ����������-����������������
��������� ������������� ������� ������� �������� ��������� [4 ].
����� �������� ��������� (���) - ������������� ����� �������
������� ����� (������ ���������������� ��������� � ������� �����������
� �������� ���������), � ������� ��������� � ������ ������� (�������������)
����������-���������������� ��������� ������� ������������ ��������. �����
�� �������� ������ ������ �������� ���� ��������� ?����? �������������
������� �� ������������ �������, ���������� ��������� ���������� (��).
��� ������� �������� ���� ����� ����� �� ������������ ����� ������������.
������ �������� ������� (���� ������) ������ �������� ��������� �����������
����.
� ���������� ��� ������������ ���������� ��������� �������� ������� ����������
, ��������������� ��������� ������� (� ����� ������ ���������� ���� ���
� ����������), � �������� ����� �������������, ���������� ������ (nodes).
��� ������������� ����� � �� �� �������� �������� (������� �� ������������
���� 1...). ������ ������� ��������� ���������� (� ��� ����� �����������)
������� �� �� �������� ���������� � �������������, ������� � �������� ������������
�������� �������, ����������� ���, ����������, ��� �������, ��������� ��������������
�������� �������� ����������� ������� ������ ��. ������ ���������������
����� �������� (�������������/�������/��������������) ����� �� ���������
� �������� ��������� ������� ������ �� ������������, �������������� �������������
�������������� ������ � �������� ���������� �����������.
���������, ��������, ����� ����� ����������� �� ��� ����� ������ ������������
� �������������� (��� ������ �� �������� ����������� �������). ��� ����������
�������������� ������ ���������� ����� ����������� �������� ���������������
������ ��� ������� ��.
� ������� ������������ ��������� ������������ �������� ��� ������������
������� �������� � ������ �� ������ ����� ������� ���������, ������������
��, � ������ �������� ������, ��������, ��������� (density) �����, ������
���� (elastic module), ����������� �������� (Poisson's coefficient), ���������
(strength) � ��.
������� ��� �������� ������������ ��������� �������� (� ����� �������
������������) ��� ��������� ��������� �������� (������������ ������� �����),
� ������ ������� ������:
����������� ������������ ����;
����������� ������������ ������ ���;
?�������?, ������ ����������� ��������� ���� ����� �� �������� �����������
� ���� ��������;
������, ����������� ���� �������� ?���������? ������������ ��� ������������
��������� �� �������� �����������;
?�����?, ������ ���� ����������� �������� ������������ �� ��� x ��� y.
��������� ���� ���������� �������� ��������� �������� � ���������������
� ������� ��, ������������ � ������ �������. ������ �� ���������� ������
�������:
������� ?nodes?, ���������� ���������� �� ����� ��-����� (�������������,
x- � y-����������);
������� ?elements?, ���������� ���������� ��� ���� ��, ������������ �����
(����� ��, �������������� ���� ������, ������������ ���������);
������� ?materials?, ���������� ���������� � ��������� ��������� ���������������
���������� (������������, ���������, ������ ����, ����������� ��������,
���������);
������� ?loadings?, ���������� ���������� � ��������� �������� ��������
������ (��� �������, ��� ?�����������?, ����� ���� ����������, ��������
��������).
���� ������ ����� SQL
���� ������, ������������ � ����� SQL ��� �������� ���������� � ��������
������ ��, ������ ������������. � ���������, ������������� ���������� �����������
���� ������� ����� ������ ?��������? ��������� ����� ������, ����������������
����������, �������� ���� ����������� ������ � ����������.
������� �������� ������� � �������� ������� ������������ �������
��������� ���� ������:
INT[(len )] - ����� ����� ������ 4 �����, �������������� ��� ������
����������� len �������;
SMALLINT[(len )] - ����� ����� ������ 2 �����, �������������� ���
������ ����������� len �������;
FLOAT[(len ,dec )] - �������������� �����, �������������� ���
������ ����������� len ��������� � dec ������� ����� ����������
�����;
CHAR(size ) - ������ �������� ������������� ����� �������� size
��������;
VARCHAR(size ) - ������ �������� ���������� ����� ������������ ��������
�� size ��������;
BLOB (Binary Large OBject) - ������ ������������ (��������) ������ (������������
������ ������� �� ����������, ������ ��� 65535 ����); ���� ��� ������ �����
��������������, ��������, ��� �������� �����������;
DATE - ��������������� ����;
TIME - ��������������� �����.
���������� ��������� (���� CHAR � VARCHAR) ������������ ��� ������������������
��������, ����������� � ��������� ���������, �������� ?brass? (������).
���������� ��������� (���� FLOAT) ����� ������������ � ?�������? �������
��� ������������������ ��������� ���������:
���� �����;
���������� ����� � ������;
������ ?�?;
���� (?+? ��� ?-?) ���������� �������;
����� �����, �������� ���� ���������� ������� ����� 10.
��������, ���������� ����� -0,123 ����� ���� �������� ��� -12.3�-2.
������� ����� ������ CHAR � VARCHAR ����������� � ���, ��� ��� ��������
� ������� ����� �������� ���� CHAR ������������ ����� size ����
(���� ���������� �������� ����� ����� ���� ����������� ������), � �� �����
��� ��� ����� ���� VARCHAR ��������� ��������� ����� (?������?) ����� �
������� �� ��������.
����������, ��� �������� len � dec (� ������� �� size )
�� ������ �� ������ �������� ������ � �������, � ������ ����������� �����
������ �� �������.
����������. ��� ������ BLOB �������������� ��������������� ��
����� ����, ������ ������ �� ��� ���������� ��� ������ (��������, BINARY
��� IMAGE).
������������. ������������ ��������� ���������� (������������
�� ������ � ����� ��������� ����), ���������� ��� ������������� ��������
������������� �������������� ������������ � �������� ����� ������.
��������������� ���������
��� ��������, ��������� � �������� ������ � SQL �� ������������ ���������
CREATE TABLE, ALTER TABLE � DROP TABLE.
�������� �������
�������� ������� � �� ����������� ���������� CREATE TABLE, ������� ���������
���������
CREATE TABLE ���_���� (�_������������ , ...);
��� �_������������ ����� ������������� ���������. ����� �� ���������������
�������� ����� ������������ �� �����.
�������� ������� �������
���_������� ���_������ [NULL ]
��� ���_������� - ��� ������� �������, � ���_������
- ������������ ������ �� ����� ������, ������������� � ������� ?����
������ ����� SQL ?. �������������� �������� ����� NULL ��������, ���
������� ������� ������� ��������� ���� ������� (�.�. �� ��������� ������-����
��������).
�������� ������� �������
���_������� ���_������ NOT NULL [DEFAULT ��_����� ] [PRIMARY KEY]
��� ����������� NOT NULL ��������� ����� � ������� ������ ������ � ������
�������. ����������� PRIMARY KEY ���������, ��� ���������� ������� �����
������ ���� ���������� ����� ��� ����������� �������. ����������� DEFAULT
��_����� �������������� ��������� ��� �������� ������� ���� ������
�������� ?�� ���������? (��������, 0 ��� �������� �����), ������������
��� ���������� � ������� ���������� INSERT INTO �����,
�� ���������� �������� � ���� �������.
�������� ���������� �����
PRIMARY KEY ���_����� (���_������� , ...)
��� ������������ ��������� ������ ��������� ���� ��� ������� � ���� ����������
����������� ���������� ��������.
�������� ���������� �����
KEY ���_����� (���_������� , ...)
�������
���� ���������� ������� ������������� ��������� CREATE TABLE ��� ��������
������� ������ ������� ��.
CREATE TABLE nodes (
id SMALLINT NOT NULL PRIMARY KEY, # ����� ����
x FLOAT NOT NULL, # x-����������
y FLOAT NOT NULL); # y-����������
CREATE TABLE elements (
id SMALLINT NOT NULL PRIMARY KEY, # ����� ��
n1 SMALLINT NOT NULL, # ����� ������ �������
n2 SMALLINT NOT NULL, # ����� ������ �������
n3 SMALLINT NOT NULL, # ����� ������� �������
props CHAR(12) NOT NULL DEFAULT 'steel');
������� props ������� elements ������������ ��� �������� �������� ���������
�� � �� ����� ��������� ?������? �����, ��� ��������� ?�� ���������? ��������
������ �������� ?steel? (�����).
CREATE TABLE materials (
name CHAR(12) NOT NULL PRIMARY KEY, # �������� ���������
density FLOAT NOT NULL, # ���������
elastics FLOAT NOT NULL, # ������ ����
poisson FLOAT NOT NULL, # �-� ��������
strength FLOAT NOT NULL); # ���������
CREATE TABLE loadings (
type CHAR(1) NOT NULL, # ��� ���������� �������
direction CHAR(1), # ����������� ��������
node SMALLINT NOT NULL, # ����� ���� ����������
value FLOAT, # �������� ��������
KEY key_node (node) ); # ��������� ����
� ������� ��������� ������� loadings ���� �������� direction � value �����
���� ������� (����� �������� NULL), ��������� �� ��� ���� �������� �����
����������� �������� �/��� ��������.
����� ���� node ���������� ���������� ������� ������������ ��� ����
������ � �������, �.�. �������� ������ �� ����� � ������� loadings - ���
������ �� ����������� ��������� ������� ��� ����������� ����. ������ ����
���� �� ����� ���� ���������, ��������� � ������ ���� ��������� ����������
���������� ��������� ������� (��������, ������ ������� ��� � �������).
������� ��������, ��� � ���� ������� ��������� ���� ����� ���� ��������������
������ ��������� �� �������� type, direction � node.
����������� �������
����������� ������������ ������� � �� ����������� ���������� ALTER TABLE,
������� ��������� ���������
ALTER TABLE ���_���� �_���������� [,�_������������ ...]
��� �_������������ ����� ��������� �����. ���� �������������� ��������
����� ������������.
���������� ������ �������
ADD COLUMN �_������������
��� �_������������ - �������� ������������ ������� � ��� ����, ���
��� ������������ ��� �������� ������� ���������� CREATE
TABLE .
�������� ���������� ����� ��� �������
DROP PRIMARY KEY
���������/�������� �������� ?�� ���������?
ALTER COLUMN ���_������� SET ��_�����
���
ALTER COLUMN ���_������� DROP DEFAULT
������
����������� � ����� ������ ������������� ��������� �������� �������������
������� �������� ������������� ������ ������������� �������� �������. ���
�����, � ���������, ���������� ����� �������� � ��������������� ����������
��������� ������� (������������ � ����������������). ��������� ��������������
�������� � ������� materials ������� �� ���������� ����� ������ ���������,
��� ����� ����������� ����� ���������� ����� SQL:
ALTER TABLE materials
ADD COLUMN capacity FLOAT NOT NULL, # ������������
ADD COLUMN conductivity FLOAT NOT NULL; # ����������������
�������� �������
�������� ����� ��� ����� ���������� ������ �� �� ����������� ����������
DROP TABLE, ������� ��������� ������� ���������
DROP TABLE ���_����, ...
����������, ��� �������� DROP TABLE ������� �� ������ ��� ���������� �������,
�� � ���� �������� ������� �� ��. ���� ��������� ������� ������ ����������
�������, �� ���������� ������������ �������� DELETE
FROM .
���������� ����� � �������
��� ���������� ����� � ������� SQL ���� ������ ������������ �������� INSERT
INTO. �������� ��� �������������� ����� ����������� ����.
���������� ������ ������������� �������� ���� �� �����
INSERT INTO ���_���� VALUES (���� , ...);
��� ���� - ����������� �������� ������ ������. �������� ����� �
������ ������ ��������������� ������� ������������ ������������ ��������
������� � ��������� CREATE TABLE . ���������
� �������� ���� ��������� �������� ����� NULL, ��� �������� ����������
�������� ��� ��������������� ������ ������.
����� ����������� ����� ������ � ������� ���� ��������� ������������
������������� ��������, ��������� �������� �������� ������� �� ���������
CREATE TABLE.
���������� ������ � �������������� ������ ���� ��������
INSERT INTO ���_���� (���_������� , ...) VALUES (���� , ...);
����� ������ ���� �������� � �������� ����� ����������� ������ ������ ����
�����������, ���� ��� ������� ���������� � �� �������. ��������� ��������
� ������� ���������� � ��������� ������� ������, ��� ����
������, ��������������� �������� �� ������������� NULL � ��������� CREATE
TABLE, ����� �������;
������, ��������������� �������� �� ������������� NOT NULL � ���������
CREATE TABLE, ����������� ���������� ?�� ���������?.
���������� ����� �� ����������� ������� � ��
INSERT INTO ���_���� [(���_������� , ...)] SELECT ...
����� �������� ���� ����������� �������� � ������� 0, 1 ��� ����� ���������
����� �����, ���������� � ���������� ������� � ���� ������, ������������
���������� SELECT .
������
���������� ���������� � ����� ���� ��-����� � ������� nodes:
INSERT INTO nodes VALUES (25, 6.3, 1.8);
�������, ��� ���������� ����� ������ ����� ������� ������ � ��� ������,
���� ���� � ����� �� ��������������� � ������� nodes ��� ��� - ���� � ���,
��� ������� id ���� ������� �������� ��������� ������ �, ��������������,
�������� ���� ��� ����� ������ ���� ���������.
������
���������� ���������� � ����� �� � ������� elements:
INSERT INTO elements
(n1, n2, n3, id) VALUES
(14, 25, 18, 46);
� ���������� � ������� elements �������� ����� ������, ���������� � ����
props �������� ?steel?, ��� ������������� ��������, ������������ ��� ��������
�������.
������
��������� � ������� materials �������� � ����� ���������:
INSERT INTO materials VALUES (
'wood', 0.6, 2.0, 0.12, 50);
������
���������� � ������� ��������� ������� loadings ���������� �� ���������������
������������� ?�����? � ���� 2:
INSERT INTO loadings VALUES (
'r', 'x', 2, NULL);
������� ������ �� ������
��� ���������� ������, ������������ � �������� SQL ��, ������������ ��������
SELECT, ������� � ����� ������ ������� � ��������������� ���������. � ������
������� ������� ��������������� ������ ��������� � �������� ����� ������������
������� ����������� ��������� SELECT.
��������� �������� SELECT �������� ��������� �������:
SELECT [ALL | DISTINCT] �_��������� , ...
FROM ���_���� [���_���� ], ...
[WHERE �����_������� ]
[GROUP BY ����_���_������� |���_������� , ...]
[ORDER BY ����_���_������� |���_������� [ASC |DESC], ...]
[HAVING �����_������� ];
����������� ������ ��������� �������� ��������� �� ����������� ����� (�����
�������) ����� ����������� �������, ��� �������
���������� � ����� (���������) �������� ������������ ������� ���������
�_��������� ;
���������� ����� ������������ ���������� �������� ������ �� ������ FROM
� ��������� �������, ���������� �����_������� .
��� �������� ���������� ��������� SELECT ������������ ��������� �����������:
�������� �������� �������������� �������
1. ����������� (� ����� ������������) ����� �_��������� ��������
������ ?*?, ������� ����� ?��� ������� ������ �� ������ FROM?.
������
����� ����� ����������� ������� materials.
SELECT * FROM materials;
+--------------+---------+----------+---------+----------+
| name | density | elastics | poisson | strength |
+--------------+---------+----------+---------+----------+
| steel | 7.80 | 200.00 | 0.25 | 1000.00 |
| aluminium | 2.70 | 65.00 | 0.34 | 600.00 |
| concrete | 5.60 | 25.00 | 0.12 | 300.00 |
| duraluminium | 2.80 | 70.00 | 0.31 | 700.00 |
| titanium | 4.50 | 116.00 | 0.32 | 950.00 |
| brass | 8.50 | 93.00 | 0.37 | 300.00 |
+--------------+---------+----------+---------+----------+
2. ������� (� ����� ����� ������������) ������� �_���������
�������� ������ ��� ������� ����� �� ������ ������ FROM.
������
����� ���������� ���������� �������������� ���� ����� ��-�����, � �������
��������� �����-���� ��������� �������, ��� ���� ���������� ����� ��� ������������
�������. ��� ������ ����� ���� ������ � ������� ���������� ���������:
SELECT node, type FROM loadings;
+------+------+
| node | type |
+------+------+
| 1 | r |
| 2 | r |
| 3 | r |
| 14 | h |
| 27 | f |
| 27 | f |
+------+------+
���������� �������������� ������� �������� ����������� ������ ��� ����
27. �������� ����� �����, ������� � �������� �������� ����� DISTINCT, �����������
��������� � �������� ������� ���������� �����.
SELECT DISTINCT node, type FROM loadings;
+------+------+
| node | type |
+------+------+
| 1 | r |
| 2 | r |
| 3 | r |
| 14 | h |
| 27 | f |
+------+------+
3. � ����� ������ �_��������� ����� ������������ ����� �������
��������� ��������� ��� ���������� �������� �������, ������������ ��������������,
���������, ���������� �������� � �������. �������� ����� ������������ �������
������� ���� � �������� 1 , 2 ,
3 .
������
������������ ���� ������� ������� ���������� materials �������� � �����
�������� density � elastics �������� ������� �����, ����������, ��������������,
��������� � ������ ���� ������� ���������. ��� ��������� �������� ��������
���� ������� � ������� ������ ��������� �� (��/�3 � ��) ����������
��������� �� �� ���������� ������������, ��� ����������� ��������� ����������
SELECT name, density*1000, elastics*1e+9 FROM materials;
+--------------+--------------+-----------------+
| name | density*1000 | elastics*1e+9 |
+--------------+--------------+-----------------+
| steel | 7800.00 | 200000000000.00 |
| aluminium | 2700.00 | 65000000000.00 |
| concrete | 5600.00 | 25000000000.00 |
| duraluminium | 2800.00 | 70000000000.00 |
| titanium | 4500.00 | 116000000000.00 |
| brass | 8500.00 | 93000000000.00 |
+--------------+--------------+-----------------+
������� 1. �������������� �������
���������
������������ ��������
ABS(x )
���������� �������� x
SQRT(x )
���������� ������ �� x
MAX(x , y , ...)
�������� ����������� �������� �� ������ x, y , ...
MIN(x,y , ...)
�������� ����������� �������� ��
������ x, y , ...
����������. x, y - ����� ��� ���������, ������� ��������
���������.
������� 2. ��������� �������
���������
������������ ��������
LEFT(s,n )
������ n �������� ������ s
RIGHT(s.n )
��������� n �������� ������ s
SUBSTRING(s, m, n )
������, ���������� ������������ n �������� �� ������ s ,
������� � m -��� ������� ������ s
LCASE(s )
������, ���������� �� s ��������������� ���� ���� � ��������
UCASE(s )
������, ���������� �� s ��������������� ���� ���� � ���������
CONCAT(s1, s2 , ...)
������, ���������� ������������� (��������) ����� s1, s2 , ...
LENGTH(s )
����� ������ s
����������. s, s1,s2 - ������ ��� ���������, ������� ��������� �
���� ������. n, m - ����� ��� ���������, ������� �������� ���������.
������� 3. ��������� � �������, ������������
���������� �������� (1 - ?������?, 0 - ?����?)
���������
������������ ��������
x = y
x ?? y
x ? y
x ? y
x ?= y
x ?= y
1 (?������?) ��� 0 (?����?) � ����������� �� ���������� �������� ���������
(��������������, ?�����?, ?�� �����?, ?������?, ?������?, ?�� ������?,
?�� ������?)
NOT l
1, ���� l= 0
0, ���� l =1
l1 AND l2
��������� ���������� �������� ?�? ��� l1 � l2
l1 OR l2
��������� ���������� �������� ?���? ��� l1 � l2
BETWEEN (x, y z )
��������� ���������� ����������� ��������� (x ?=y AND
x ?=z )
ISNULL (v )
1, ���� v ����� �������� ?�����? (NULL)
0, � ��������� ������
IFNULL (v1, v2 )
v1 , ���� v1 �� ?�����?
v2 , � ��������� ������
s LIKE �������
1, ��� ������� ������������� ������ s � �������
0, � ��������� ������
s NOT LIKE �������
0, ��� ������� ������������� ������ s � �������
1, � ��������� ������
����������. x, y, z - ����� ��� ���������, ������� �������� ���������.
l, l1, l2 - ���������� ��������� (1 ��� 0) ��� ���������� ���������.
s - ������ ��� ���������, ������� ��������� � ���� ������. v,
v1, v2 - ���������� ��� ���������.
������� - ��������� � ���� ������ ��������, ��������, ����������
����������� ?%? � ?_?. � ������� ���������� ?_? ���������� � �����
��������� �������� ������ s , ���������� ?%? - � ����� �������� ��������
����� ( � ��� ����� �������) �����.
������
����� ���������� ��� ������ ���������� � ��������� ���������� �� �������
materials ���������������� ���������, ������� � ����� ������� ��������
(����������, ������� � ����� �������� ���������� �� ��������). ��� ������
����� ���� ������ � ������� ���������� ���������.
SELECT name, name LIKE '%alu%', density FROM materials;
+--------------+-------------------+---------+
| name | name LIKE '%alu%' | density |
+--------------+-------------------+---------+
| steel | 0 | 7.80 |
| aluminium | 1 | 2.70 |
| concrete | 0 | 5.60 |
| duraluminium | 1 | 2.80 |
| titanium | 0 | 4.50 |
| brass | 0 | 8.50 |
+--------------+-------------------+---------+
������
����� ���������� ��� ������� ��������� �������� ���������� ����������
�������� �������� ��������������� �����, ���������� ��������� ����� ���������
��������. ������ ������ ����� ���� ������ ��������� ����������
SELECT id, n1, n2, n3, MAX(ABS(n1-n2),ABS(n1-n3),ABS(n2-n3))
FROM elements;
+----+----+----+----+---------------------------------------+
| id | n1 | n2 | n3 | MAX(ABS(n1-n2),ABS(n1-n3),ABS(n2-n3)) |
+----+----+----+----+---------------------------------------+
| 29 | 24 | 26 | 25 | 2 |
| 30 | 24 | 25 | 23 | 2 |
| 31 | 22 | 26 | 24 | 4 |
| 1 | 2 | 3 | 5 | &nbs
p; 3 |
| 2 | 1 | 2 | 4 | &nbs
p; 3 |
| 3 | 2 | 5 | 4 | &nbs
p; 3 |
| 4 | 4 | 5 | 6 | &nbs
p; 2 |
| 25 | 24 | 23 | 21 | 3 |
| 20 | 20 | 19 | 17 | 3 |
| 21 | 21 | 19 | 20 | 2 |
| 22 | 21 | 23 | 19 | 4 |
| 12 | 12 | 14 | 13 | 2 |
| 13 | 12 | 15 | 14 | 3 |
| 14 | 13 | 14 | 18 | 5 |
| 26 | 28 | 27 | 22 | 6 |
| 7 | 7 | 8 | 9 | &nbs
p; 2 |
| 8 | 8 | 10 | 9 | 2
|
| 9 | 9 | 10 | 11 | 2 |
| 10 | 10 | 12 | 11 | 2 |
| 11 | 11 | 12 | 13 | 2 |
| 16 | 16 | 17 | 14 | 3 |
| 17 | 18 | 17 | 14 | 4 |
| 18 | 16 | 20 | 17 | 4 |
| 19 | 19 | 18 | 17 | 2 |
| 15 | 15 | 16 | 14 | 2 |
| 27 | 27 | 29 | 26 | 3 |
| 28 | 22 | 27 | 26 | 5 |
| 5 | 5 | 7 | 6 | &nbs
p; 2 |
| 6 | 5 | 8 | 7 | &nbs
p; 3 |
| 23 | 20 | 22 | 21 | 2 |
| 24 | 24 | 21 | 22 | 3 |
+----+----+----+----+---------------------------------------+
4. � ����� ������ �_��������� ���������
������������� ������������ (���������� ����� ����������) �������, �����������
� �������� ������ ������������� ��������� �������� ���� ����� ����������
������� �������������� �������. �������� ����� ������� ������������ � �������
4. ������� 4. ������������ �������
���������
������������ ��������
SUM(x )
����� �������� ������� x �������������� �������
MAX(x )
���������� �������� �� ���� �������� ����� ������� x
MIN(x )
���������� �������� �� ���� �������� ����� ������� x
AVG(x )
������� �������� ��� ���� �������� ����� ������� x
COUNT(x )
����� ���������� ����� � ������� x
���������� . ������� MAX(...) � MIN(...) � ����� ����������
�������� ������������� ���������, ��� �� � ����� � ����� ����������� -
������� ������� (��. ������� 1 ).
������
��� ��������� ����������� �������� ������ ���� ��� ����������, ���������
� ������� materials, ����� ������������ ��������� ��������
SELECT MAX(elastics) FROM materials;
+---------------+
| MAX(elastics) |
+---------------+
| 200.00 |
+---------------+
������
��������� �������� SELECT ��������� ���������� ����� ���������� ��������
��������� � ��-����� �� ������ �������.
SELECT COUNT(*) FROM elements;
+----------+
| COUNT(*) |
+----------+
| 31 |
+----------+
�������� �������� ������� ����������� �����
�������������� �������
� �������� �������� ������ ���������� �� ������ ������ FROM ��������� SELECT
��������� �����_������� , ������������ ����� ��������� ����� WHERE
� ������� ��������� ���:
�����_�������
���
�����_������� AND �����_�������
���
�����_������� OR �����_�������
��������� ���������� �����_������� �������� ���������.
���������
����_���_������� @ ����_���_�������_���_���������
��� @ - ���� �� ���������� ���������: ? (?������?), ? (?������?),
?= (? �� ������?), ?= (?�� ������?), = (?�����?), ?? (?�� �����?), � ������_���_�������
- ��� �������, ������������������ ��� ������������� ������ ��� ���������
����� �������, ��� ��� ���� ������� ���� .
������������� � ��������
����_���_������� [NOT] LIKE �������
��� ������� ����� ���, ��������� � ������� 3 .
�������� �� ?������? �������� � ������ �������
����_���_������� IS [NOT] NULL
��� ��������������� �����_������� ��������� �������������
������� ������ ��� ���������� �������� ���������� �������.
���������� . �������� ��������, ��� ��������� �����_�������
����������� ?������? ���������� �_��������� . ���� � ���, ��� �����_�������
������������ (� ��� ����� � �� ���������� ������ ����������� ��) �� �����
������� �� �������� (��������, ����� �������) ������� (������) �����������
����� � ��������������. ��� ���������� ������� ������� ������� � �������
������ ��� (�������) ���������� ������� � ���������. �������� ������ ��
������������� ������ � �������� ����� ���� ��������� ������ ��� �������,
��� ������� �� ����� � �������� ���������� � �������� �������� ������ ������
�������� ����� �������� � ?������? ����, � �� � ���� �� ���������� � �������
���������.
����������� �� �_��������� �����������, �� ���� ����, � ���������
�������� ��� �������������� �������, ������� ��������� �_���������
�� ������������� ���������� ������� ����������� �������� ������� �� ���������.
������
��� ����������� ��������� �������������� ���� 11 ����� ��������������
��������� ��������:
SELECT * FROM nodes WHERE id = 11;
+----+--------+--------+
| id | x | y |
+----+--------+--------+
| 11 | -35.00 | -10.00 |
+----+--------+--------+
������
����� ���������� ���������� �������������� ���� �������� ���������,
������� � �������� ����� �� ����� ������ ���� 20. ��� ������ ����� ����
������ ��������� ���������� SELECT
SELECT id FROM elements
WHERE n1 = 20 OR n2 = 20 OR n3 = 20;
+----+
| id |
+----+
| 20 |
| 21 |
| 18 |
| 23 |
+----+
������
��� ����������� ��������������� ����� ��-�����, ������������� � ������
��������� ������� ��������� ����� ������������ ��������� ��������
SELECT * FROM nodes
WHERE x ?= 0 AND y ?= 0;
+----+-------+-------+
| id | x | y |
+----+-------+-------+
| 14 | 0.00 | 0.00 |
| 15 | 5.00 | 20.00 |
| 16 | 20.00 | 8.00 |
+----+-------+-------+
������
��������� �������� SELECT ����� ���� ����������� ��� �����������
��������� �������, ������� � �������� ����� �� ����� ������������� ���������
�������� ��������
SELECT * FROM loadings WHERE value IS NOT NULL;
+------+-----------+------+--------+
| type | direction | node | value |
+------+-----------+------+--------+
| f | y | 27 | -50.00 |
| f | x | 27 | -10.00 |
+------+-----------+------+--------+
�������������� � ������������� ����� ��������������
�������
��� ����������� ������������������� � ������������ ����� ��������������
������� � ��������� SELECT ������������ ����������� GROUP BY � ORDER BY.
������������ ����� ����������� ������������� ������ ���� ��������, �� �������
� ������������ (ASC ) ��� ��������� (DESC) ������� ����������� ������
�������������� �������. ��� ���� ������ ��������������� � ������ �������
�� �������, ���������� ������ � ������ ORDER BY. �����, ���� ����� ��������
����� ������� ������� ���� �������������, ������������ ������������ ��
������� ������� � ��� �����.
������
��� ������ ���������� �� ����� ��-����� � ��������� ������� �� (�����)
��������������� ����� ���� ����������� ��������� ��������:
SELECT * FROM nodes ORDER BY id DESC;
+----+--------+--------+
| id | x | y |
+----+--------+--------+
| 29 | 83.00 | -9.00 |
| 28 | 65.00 | -5.00 |
| 27 | 75.00 | -7.00 |
| 26 | 80.00 | -20.00 |
| 25 | 75.00 | -35.00 |
| 24 | 65.00 | -25.00 |
| 23 | 60.00 | -39.00 |
| 22 | 60.00 | -15.00 |
| 21 | 50.00 | -25.00 |
| 20 | 40.00 | -3.00 |
| 19 | 30.00 | -27.00 |
| 18 | 10.00 | -20.00 |
| 17 | 20.00 | -10.00 |
| 16 | 20.00 | 8.00 |
| 15 | 5.00 | 20.00 |
| 14 | 0.00 | 0.00 |
| 13 | -15.00 | -14.00 |
| 12 | -15.00 | 15.00 |
| 11 | -35.00 | -10.00 |
| 10 | -40.00 | 15.00 |
| 9 | -55.00 | -6.00 |
| 8 | -65.00 | 15.00 |
| 7 | -75.00 | -3.00 |
| 6 | -85.00 | -1.00 |
| 5 | -80.00 | 15.00 |
| 4 | -95.00 | 10.00 |
| 3 | -80.00 | 20.00 |
| 2 | -87.50 | 20.00 |
| 1 | -95.00 | 20.00 |
+----+--------+--------+
������
����� ���������� ������� ���������� � �������� ���������, ����������
��;
� ������ ������� �� ��������������� �����, ���������� ������ �������� ���������
��������;
�� ������ ������� �� ��������������� �����, ���������� ������ ��������
��������� ��������;
��� ������� ���� ������ ����� ������������ ��������� ��������
SELECT * FROM elements ORDER BY n1, n2;
+----+----+----+----+-------+
| id | n1 | n2 | n3 | props |
+----+----+----+----+-------+
| 2 | 1 | 2 | 4 | steel |
| 1 | 2 | 3 | 5 | steel |
| 3 | 2 | 5 | 4 | steel |
| 4 | 4 | 5 | 6 | steel |
| 5 | 5 | 7 | 6 | steel |
| 6 | 5 | 8 | 7 | steel |
| 7 | 7 | 8 | 9 | steel |
| 8 | 8 | 10 | 9 | steel |
| 9 | 9 | 10 | 11 | steel |
| 10 | 10 | 12 | 11 | steel |
| 11 | 11 | 12 | 13 | steel |
| 12 | 12 | 14 | 13 | steel |
| 13 | 12 | 15 | 14 | steel |
| 14 | 13 | 14 | 18 | steel |
| 15 | 15 | 16 | 14 | steel |
| 16 | 16 | 17 | 14 | steel |
| 18 | 16 | 20 | 17 | steel |
| 17 | 18 | 17 | 14 | steel |
| 19 | 19 | 18 | 17 | steel |
| 20 | 20 | 19 | 17 | steel |
| 23 | 20 | 22 | 21 | steel |
| 21 | 21 | 19 | 20 | steel |
| 22 | 21 | 23 | 19 | steel |
| 31 | 22 | 26 | 24 | steel |
| 28 | 22 | 27 | 26 | steel |
| 24 | 24 | 21 | 22 | steel |
| 25 | 24 | 23 | 21 | steel |
| 30 | 24 | 25 | 23 | steel |
| 29 | 24 | 26 | 25 | steel |
| 27 | 27 | 29 | 26 | steel |
| 26 | 28 | 27 | 22 | steel |
+----+----+----+----+-------+
�������� SELECT ����� ���������� ���������� ������������
������� ��� ����� ����� �������������� �������. ��� ����� ������������
������ ������ ���� �������� � ����������� GROUP BY. ������ ������ ��� �������
� ������ GROUP BY ������������ ��� ��������� ����� �������������� �������
�� ��������� ������, ��������� ������ ����������� �� ?���������? ������
� ������ ������ ������ ������� � ��� �����.
�������� SELECT ������� �������� ������������ ������� ��� ����� ?�����?
��������.
������
����� ���������� ���������� ���������� ����� ��-�����, ������������
������ ����� ��������� �������. ��� ����� ����� ���� ����������� ���������
��������
SELECT type, COUNT(*) FROM loadings GROUP BY type;
+------+----------+
| type | COUNT(*) |
+------+----------+
| f | 2 |
| h | 1 |
| r | 3 |
+------+----------+
���������� . ����������� HAVING �����_������� , ��� ��������������
��������� ����� ����������� GROUP BY, ��������� ���������� ��������������
(� WHERE �����_������� ) �������� ������� ����� � ������. ����
�������������� �������� ����������� � ������ ���������������� ���������
� �������, ���������� � ���������� ������������� �������� �� �����������
WHERE.
������� �� ���������� ������
� ����� ������ �������� SELECT ����� SQL ���� ����������� ������� ����������
����� �� ���������� ������, ������������� � ������ FROM. �� ��������������
������ ������������ (������ ����������� ������ ������) ����� ������� ��������
� ���� ��� �������� �����:
���������� ������������� �������, �������������� ����� ��������� ������������
������ �� ������ FROM (�.�. �������, ������ ������� ������������ �����
��� ��������� ��������� ����� �������� ������);
����������� � �������������� ������� ���� ����� �������������, ����������
�������� �� WHERE �����_������� (���� ������� ���������).
������
����� ���������� ���������� �������� ������ ���� ��� ��������� ��������
� ��������������� 25. ��� ������ ����� ���� ������ ��������� ����������
SELECT id, elastics FROM elements, materials
WHERE id = 25 AND props = name;
+----+----------+
| id | elastics |
+----+----------+
| 25 | 200.00 |
+----+----------+
����������. �������� ��������, ��� � ������ ������� ����� � ���������
SELECT �� ������������� ������������ ������ ����� �������� ��������� ������.
����������� ��� ���, ��� ����� �������� ������ elements � materials ��������,
� ������� ���������������� � ���������� ���� �� �����.
����������. ���� �������������� ������ ��������� ��������� SELECT
�� ������� FROM �� ���� � ����� ������ ������������� ���������� �����������
������������ ���� �������, � ���������� ����� �� ���������� � ���� ?��������������?
���������� �����_������� �� ����������� WHERE. ���, � ����� ���������
������� ������ �� ������� ������������� � 2 ?��������? �����: 1) �� �������
elements (� �������������� ���������� �����) ������ �������� �����������
������ � id=25; 2) �� ������� materials (����� � �������������� ����������
�����) ������ �������� ����������� ���������� � ��������� ?steel? (�����).
��������, ��� ����� ?����������������? ������ ����������� ����� ����������
�� ��������� � ������������ (����� ��������� ������������).
������
��� ������ ��������� ���� ������ ������� ��������� �������� � ��-�����
� ����� ������� ����� ������������ ��������� ��������
SELECT e.id, node1.x, node1.y, node2.x, node2.y, node3.x, node3.y
FROM elements e, nodes node1, nodes node2, nodes node3
WHERE e.n1 = node1.id
AND e.n2 = node2.id
AND e.n3 = node3.id;
+----+--------+--------+--------+--------+--------+--------+
| id | x | y | x | y | x | y |
+----+--------+--------+--------+--------+--------+--------+
| 29 | 65.00 | -25.00 | 80.00 | -20.00 | 75.00 | -35.00 |
| 30 | 65.00 | -25.00 | 75.00 | -35.00 | 60.00 | -39.00 |
| 31 | 60.00 | -15.00 | 80.00 | -20.00 | 65.00 | -25.00 |
| 1 | -87.50 | 20.00 | -80.00 | 20.00 | -80.00 | 15.00 |
| 2 | -95.00 | 20.00 | -87.50 | 20.00 | -95.00 | 10.00 |
| 3 | -87.50 | 20.00 | -80.00 | 15.00 | -95.00 | 10.00 |
| 4 | -95.00 | 10.00 | -80.00 | 15.00 | -85.00 | -1.00 |
| 25 | 65.00 | -25.00 | 60.00 | -39.00 | 50.00 | -25.00 |
| 20 | 40.00 | -3.00 | 30.00 | -27.00 | 20.00 | -10.00 |
| 21 | 50.00 | -25.00 | 30.00 | -27.00 | 40.00 | -3.00 |
| 22 | 50.00 | -25.00 | 60.00 | -39.00 | 30.00 | -27.00 |
| 12 | -15.00 | 15.00 | 0.00 | 0.00 | -15.00 | -14.00 |
| 13 | -15.00 | 15.00 | 5.00 | 20.00 | 0.00 | 0.00 |
| 14 | -15.00 | -14.00 | 0.00 | 0.00 | 10.00 | -20.00 |
| 26 | 65.00 | -5.00 | 75.00 | -7.00 | 60.00 | -15.00 |
| 7 | -75.00 | -3.00 | -65.00 | 15.00 | -55.00 | -6.00 |
| 8 | -65.00 | 15.00 | -40.00 | 15.00 | -55.00 | -6.00 |
| 9 | -55.00 | -6.00 | -40.00 | 15.00 | -35.00 | -10.00 |
| 10 | -40.00 | 15.00 | -15.00 | 15.00 | -35.00 | -10.00 |
| 11 | -35.00 | -10.00 | -15.00 | 15.00 | -15.00 | -14.00 |
| 16 | 20.00 | 8.00 | 20.00 | -10.00 | 0.00 | 0.00 |
| 17 | 10.00 | -20.00 | 20.00 | -10.00 | 0.00 | 0.00 |
| 18 | 20.00 | 8.00 | 40.00 | -3.00 | 20.00 | -10.00 |
| 19 | 30.00 | -27.00 | 10.00 | -20.00 | 20.00 | -10.00 |
| 15 | 5.00 | 20.00 | 20.00 | 8.00 | 0.00 | 0.00 |
| 27 | 75.00 | -7.00 | 83.00 | -9.00 | 80.00 | -20.00 |
| 28 | 60.00 | -15.00 | 75.00 | -7.00 | 80.00 | -20.00 |
| 5 | -80.00 | 15.00 | -75.00 | -3.00 | -85.00 | -1.00 |
| 6 | -80.00 | 15.00 | -65.00 | 15.00 | -75.00 | -3.00 |
| 23 | 40.00 | -3.00 | 60.00 | -15.00 | 50.00 | -25.00 |
| 24 | 65.00 | -25.00 | 50.00 | -25.00 | 60.00 | -15.00 |
+----+--------+--------+--------+--------+--------+--------+
����������. �������� ��������, ��� ����������� ��� ���������� �������
������� ������������� ������� � ���� ����������� ������������ (���� ��
��� ������� ���������) ����� ������ � 31*29*29*29=756059 ����� (31 ������
� ������� elements � 29 ����� � ������� nodes).
��������������� �������� ������
��� �������� � ��������� ����� ������ SQL �� ����������� ��������� DELETE
� UPDATE.
�������� �����
�������� ����� ������� ����������� ���������� DELETE FROM, ������� ���������
���������
DELETE FROM ���_���� [WHERE �����_������� ]
��� �����_������� ����� ��������� ���� ��������� .
� ���������� ���������� ��������� �� ������� ��������� ��� ������, ���������������
�������� �����_������� . ���� � ��������� DELETE FROM �����������
WHERE �������, �� ��������� ��� ������ �������.
����������� �����
��������� ����������� ����� ������� ����������� ���������� UPDATE, �������
��������� ���������
UPDATE ���_���� SET ���_������� =��������� , ...
[WHERE �����_������� ]
��� ��������� - ��������� (� ���������� ������ - ���������), �������������
�� ���������� � ����� ������ �������. � ��������� ��������� �������������
�������� ����� ����� �������� �������, ������������� ����� �������� � �������
(�� �� ������������), � ����� �������� ����������� �������������� ������.
���������� �������� ������� �����, ���������� �������� �����_������� .
���� ����������� WHERE � ��������� �����������, �� ����������� ��� ������
�������.
������
��� ��������� ������������ ���������, �� �������� ��������� ������������
�����������, ��� ���� ��������� ��-����� ����� ������������ ��������� ��������
UPDATE elements SET props='brass';
SELECT * FROM elements;
+----+----+----+----+-------+
| id | n1 | n2 | n3 | props |
+----+----+----+----+-------+
| 29 | 24 | 26 | 25 | brass |
| 30 | 24 | 25 | 23 | brass |
| 31 | 22 | 26 | 24 | brass |
| 1 | 2 | 3 | 5 | brass |
| 2 | 1 | 2 | 4 | brass |
. . .
| 28 | 22 | 27 | 26 | brass |
| 5 | 5 | 7 | 6 | brass |
| 6 | 5 | 8 | 7 | brass |
| 23 | 20 | 22 | 21 | brass |
| 24 | 24 | 21 | 22 | brass |
+----+----+----+----+-------+
������
� ����� ��-����� ������� 22 ����� ?������������? �����. �������� ������
�������� ��� ����� ������ ��������� ����������, �������� �����, ����� �������
� ��������������. ��� ������ ����� ���� ������ ��������� �������������������
����������
DELETE FROM elements WHERE id=22;
INSERT INTO nodes VALUES (30, 45.0, -33.5);
INSERT INTO elements VALUES (22, 21, 30, 19);
INSERT INTO elements VALUES (32, 21, 23, 30);
������
��� ������� ���������� ������ ����� ����� ������������ � ������ �����
����������
INSERT INTO nodes VALUES (30, 45.0, -33.5);
UPDATE elements SET n2 = 30 WHERE id = 22;
INSERT INTO elements VALUES (32, 21, 23, 30);
����������
��. ������. ����������� ��� ������ � ��������������
��������. - �.;���,1980. - 662�.
�.�. ��������. ��������� ����� ����������� ��� ������
SQL: ������� �����. //����, 1996, N2, ��. 6-36.
�.�. ����������
�������� �., ������ �. �������� �������� � �������������.
- �.:���, 1979. - 318�.
����������
���� ��������� �������, ������� ���������� ���������, ��������� ��������
SELECT ������� ���������� �� ������� ���� ������. ���������� ���������
������� ����������� ����������, ���� ������ ����������� ���� ������������ .
���������� ��������� �������� �� ���������� ?���������/���������?.
�������� �������, ���������� �������� ���������� ��������� ���������������
����� - ������ ��� ������� ��������� ��������.������� ������ ���� �����������
�� �������� �������� ���������.
���������� ������������ �������� � ������� �� ����������� �������.
���������� ������������� ������������� ������� ����� ��� x.
���������� ���������� ������� ���� ��-����� �� ������ ������� ���������.
���������� ���������� ������� ���� ��-����� �� ����, � ������� ���������
��������� ������� � ���� �������������� ���� (����������, �� �� ���� �
�������� ���������������, � �� ���� � �������� ����� ���������� �������).
����� ���������� ���������� ����� ������ ��-�����.
�������� ������� ���� ������ ���� ��������� ��-����� � ���� ?�������������
�������� - ����� ������� 1 - ����� ������� 2 - ����� ������� 3?.
�������� ������� ���������� ����� ������ ��-�����, ����������� ���������
�������� ���������, � ���� ?������������� ���� 1 - ������������� ���� 2
- �����?.
�������� ������� �������� ���� �������� ���������. ��������, ��� ����������
������� ������������ ����� ������������ �������
s = SQRT(p*(p-a)*(p-b)*(p-c))
��� a, b, c - ����� ������ ������������, � p - ��� ������������.
���������� ����� ����� ������������� ������� ��� �������, ��� ��� �������
(� ����������� z) ����� 5 ��.
�������� ������� �������� ��������� maxL/minL ��� ������� ��������� ��������
� ��������� ��� ���������, ��� ������� ��� ��������� ��������� ��������
1,4 (����� maxL - ���������� ����� ������� ��������� ��������, minL - ����������
����� ������� ��������� ��������).
�������� ������� ?��������? ����� ��-�����. �������� ���� � ������ ������
���������� ���������� �����, ����������� ������ ���� � ���������.
���������� ��� ������� ���� ��-����� ���������� ?������������? � ���� ��������
���������.
�������� ������ ��������������� ?�������? ����� ��-����� (������� ��������
����, ���������� �������� ������ ������ ��������).
�������� ������ ��������������� �������� ���������, ���� ��� ����� ������
������� �������� ������� �������.
���������� ������ ����������� ����� ������������ ���� ��-����� �� �������
�������. ������ ������ ���� ����� �����.
������������. � ���� mySQL ��������� ���������
SELECT �������� ��������� �������:
SELECT [ALL|DISTINCT] �_��������� [AS ���_������� ], ...
FROM ... � �.�.
��� ���_������� - ���, ����������� ������� �������������� �������.
��� ��� ������������ ��� ������ �������������� ������� (� �� ?�����?) ������
������ �_��������� . ������, ����� ������� ��, ��� ���_�������
����� ������������ � �_��������� , ������������� ������ � ������
��������� SELECT. ��� � ���� ������� ��������� ����������� ��������� ���������
����������� �_��������� . ���������� ����� ��������, ��� �����������
�������� ���������� (�������� ���������) �������� �������������� �������
���������� ��� ����, �������������� ���� SQL.
������:
�������: