{"id":36316,"date":"2019-10-31T22:10:53","date_gmt":"2019-10-31T19:10:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/funktsionalnaya-subd\/"},"modified":"2019-10-31T22:10:53","modified_gmt":"2019-10-31T19:10:53","slug":"funktsionalnaya-subd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/funktsionalnaya-subd","title":{"rendered":"Funktionale Datenbank","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u041c\u0438\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0432\u043d\u043e \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0421\u0423\u0411\u0414, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u0437\u044b\u043a SQL. \u041d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 NoSQL. \u0418\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0431\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0440\u044b\u043d\u043a\u0435, \u043d\u043e \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0421\u0423\u0411\u0414 \u0443\u043c\u0438\u0440\u0430\u0442\u044c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f, \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u0435\u0439.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u044f \u0431\u0443\u0434\u0443 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0443\u0442\u0435\u043c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0441 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0437 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u043f\u043e SQL, \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n<p>\n\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438 \u043f\u043e\u043b\u044f\u043c\u0438. \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0438\u0445 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043b\u0430\u0441\u0441\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u041f\u043e\u043b\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441 N \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0442 N \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u0412\u043c\u0435\u0441\u0442\u043e \u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043a\u043b\u0430\u0441\u0441\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0434\u0435\u0442 \u0441\u0432\u044f\u0437\u044c. \u0412\u043c\u0435\u0441\u0442\u043e JOIN \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0437\u0430\u0434\u0430\u0447\u0430\u043c, \u043e\u043f\u0438\u0448\u0443 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438. \u0414\u043b\u044f DDL \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 PostgreSQL. \u0414\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441.<\/p>\n<h3>\u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u043f\u043e\u043b\u044f<\/h3>\n<p>\n\u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 Sku \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0446\u0435\u043d\u0430:<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">CREATE TABLE Sku\n(\n    id bigint NOT NULL,\n    name character varying(100),\n    price numeric(10,5),\n    CONSTRAINT id_pkey PRIMARY KEY (id)\n)\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>CLASS\u00a0Sku;<br \/>\nname\u00a0=\u00a0DATA\u00a0STRING[100]\u00a0(Sku);<br \/>\nprice\u00a0=\u00a0DATA\u00a0NUMERIC[10,5]\u00a0(Sku);<br \/>\n<\/code><\/p>\n<p>\n\u041c\u044b \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0434\u0432\u0435 <i>\u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/i>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043d\u0430 \u0432\u0445\u043e\u0434 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 Sku, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u0442\u0438\u043f.<\/p>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043a\u0438\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0438 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0417\u0430\u0434\u0430\u0434\u0438\u043c \u0446\u0435\u043d\u0443 \u0434\u043b\u044f \u0442\u043e\u0432\u0430\u0440\u0430 \/ \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430 \/ \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430. \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u043e\u043b\u0435 \u0432\u0440\u0435\u043c\u044f. \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0432 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u043f\u0443\u0449\u0443, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u043e\u0434:<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">CREATE TABLE prices\n(\n    skuId bigint NOT NULL,\n    storeId bigint NOT NULL,\n    supplierId bigint NOT NULL,\n    dateTime timestamp without time zone,\n    price numeric(10,5),\n    CONSTRAINT prices_pkey PRIMARY KEY (skuId, storeId, supplierId)\n)\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>CLASS\u00a0Sku;<br \/>\nCLASS\u00a0Store;<br \/>\nCLASS\u00a0Supplier;<br \/>\ndateTime\u00a0=\u00a0DATA\u00a0DATETIME\u00a0(Sku,\u00a0Store,\u00a0Supplier);<br \/>\nprice\u00a0=\u00a0DATA\u00a0NUMERIC[10,5]\u00a0(Sku,\u00a0Store,\u00a0Supplier);<br \/>\n<\/code><\/p>\n<p><\/p>\n<h3>\u0418\u043d\u0434\u0435\u043a\u0441\u044b<\/h3>\n<p>\n\u0414\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e \u0432\u0441\u0435\u043c \u043a\u043b\u044e\u0447\u0430\u043c \u0438 \u0434\u0430\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0446\u0435\u043d\u0443 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">CREATE INDEX prices_date\n    ON prices\n    (skuId, storeId, supplierId, dateTime)\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>INDEX\u00a0Sku\u00a0sk,\u00a0Store\u00a0st,\u00a0Supplier\u00a0sp,\u00a0dateTime(sk,\u00a0st,\u00a0sp);<br \/>\n<\/code><\/p>\n<p><\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0438<\/h2>\n<p>\n\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0432\u0437\u044f\u0442\u044b\u0445 \u0438\u0437 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/181033\/\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a><\/noindex> \u043d\u0430 \u0425\u0430\u0431\u0440\u0435.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u044a\u044f\u0432\u0438\u043c \u0434\u043e\u043c\u0435\u043d\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 (\u0434\u043b\u044f \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435).<\/p>\n<p><code>CLASS\u00a0Department;<br \/>\nname\u00a0=\u00a0DATA\u00a0STRING[100]\u00a0(Department);<\/p>\n<p>CLASS\u00a0Employee;<br \/>\ndepartment\u00a0=\u00a0DATA\u00a0Department\u00a0(Employee);<br \/>\nchief\u00a0=\u00a0DATA\u00a0Employee\u00a0(Employee);<br \/>\nname\u00a0=\u00a0DATA\u00a0STRING[100]\u00a0(Employee);<br \/>\nsalary\u00a0=\u00a0DATA\u00a0NUMERIC[14,2]\u00a0(Employee);<br \/>\n<\/code><\/p>\n<p><\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 1.1<\/h3>\n<p>\n\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0438\u0445 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0435\u043c \u0443 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f.<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">select a.*\nfrom   employee a, employee b\nwhere  b.id = a.chief_id\nand    a.salary &gt; b.salary\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>SELECT\u00a0name(Employee\u00a0a)\u00a0WHERE\u00a0salary(a)\u00a0&gt;\u00a0salary(chief(a));<br \/>\n<\/code><\/p>\n<p><\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 1.2<\/h3>\n<p>\n\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0438\u0445 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0432 \u0441\u0432\u043e\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u0435<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">select a.*\nfrom   employee a\nwhere  a.salary = ( select max(salary) from employee b\n                    where  b.department_id = a.department_id )\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>maxSalary\u00a0'\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f\u00a0\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430'\u00a0(Department\u00a0s)\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0GROUP\u00a0MAX\u00a0salary(Employee\u00a0e)\u00a0IF\u00a0department(e)\u00a0=\u00a0s;<br \/>\nSELECT\u00a0name(Employee\u00a0a)\u00a0WHERE\u00a0salary(a)\u00a0=\u00a0maxSalary(department(a));<\/p>\n<p><i>\/\/\u00a0\u0438\u043b\u0438\u00a0\u0435\u0441\u043b\u0438\u00a0\"\u0437\u0430\u0438\u043d\u043b\u0430\u0439\u043d\u0438\u0442\u044c\"<\/i><br \/>\nSELECT\u00a0name(Employee\u00a0a)\u00a0WHERE\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0salary(a)\u00a0=\u00a0maxSalary(GROUP\u00a0MAX\u00a0salary(Employee\u00a0e)\u00a0IF\u00a0department(e)\u00a0=\u00a0department(a));<br \/>\n<\/code><\/p>\n<p>\n\u041e\u0431\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u0432 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c CREATE VIEW, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0435\u0442 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0443 \u0432 \u043d\u0435\u043c. \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u044f \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u043b\u0443\u0447\u0448\u0435 \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u0435.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 1.3<\/h3>\n<p>\n\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a ID \u043e\u0442\u0434\u0435\u043b\u043e\u0432, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 3 \u0447\u0435\u043b\u043e\u0432\u0435\u043a.<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">select department_id\nfrom   employee\ngroup  by department_id\nhaving count(*) &lt;= 3\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>countEmployees\u00a0'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u00a0\u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432'\u00a0(Department\u00a0d)\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0GROUP\u00a0SUM\u00a01\u00a0IF\u00a0department(Employee\u00a0e)\u00a0=\u00a0d;<br \/>\nSELECT\u00a0Department\u00a0d\u00a0WHERE\u00a0countEmployees(d)\u00a0&lt;=\u00a03;<br \/>\n<\/code><\/p>\n<p><\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 1.4<\/h3>\n<p>\n\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0445 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0432 \u0442\u043e\u043c-\u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u0435.<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">select a.*\nfrom   employee a\nleft   join employee b on (b.id = a.chief_id and b.department_id = a.department_id)\nwhere  b.id is null\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>SELECT\u00a0name(Employee\u00a0a)\u00a0WHERE\u00a0NOT\u00a0(department(chief(a))\u00a0=\u00a0department(a));<br \/>\n<\/code><\/p>\n<p><\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 1.5<\/h3>\n<p>\n\u041d\u0430\u0439\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a ID \u043e\u0442\u0434\u0435\u043b\u043e\u0432 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0439 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u043e\u0439 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432.<\/p>\n<p><b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">with sum_salary as\n  ( select department_id, sum(salary) salary\n    from   employee\n    group  by department_id )\nselect department_id\nfrom   sum_salary a       \nwhere  a.salary = ( select max(salary) from sum_salary )\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>salarySum\u00a0'\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f\u00a0\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430'\u00a0(Department\u00a0d)\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0GROUP\u00a0SUM\u00a0salary(Employee\u00a0e)\u00a0IF\u00a0department(e)\u00a0=\u00a0d;<br \/>\nmaxSalarySum\u00a0'\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f\u00a0\u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430\u00a0\u043e\u0442\u0434\u0435\u043b\u043e\u0432'\u00a0()\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0GROUP\u00a0MAX\u00a0salarySum(Department\u00a0d);<br \/>\nSELECT\u00a0Department\u00a0d\u00a0WHERE\u00a0salarySum(d)\u00a0=\u00a0maxSalarySum();<br \/>\n<\/code><\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0439 <noindex><a rel=\"nofollow\" href=\"https:\/\/minyurov.com\/learning\/microsoft-sql-server\/sql-tasks\/\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a><\/noindex>. \u0412 \u043d\u0435\u0439 \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u043d\u0430 MS SQL.<\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 2.1<\/h3>\n<p>\n\u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u043f\u0440\u043e\u0434\u0430\u043b\u0438 \u0432 1997 \u0433\u043e\u0434\u0443 \u0431\u043e\u043b\u0435\u0435 30 \u0448\u0442\u0443\u043a \u0442\u043e\u0432\u0430\u0440\u0430 \u21161?<\/p>\n<p>\u0414\u043e\u043c\u0435\u043d\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 (\u043a\u0430\u043a \u0438 \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0430 \u0420\u0421\u0423\u0411\u0414 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435):<\/p>\n<p><code>CLASS\u00a0Employee\u00a0'\u041f\u0440\u043e\u0434\u0430\u0432\u0435\u0446';<br \/>\nlastName\u00a0'\u0424\u0430\u043c\u0438\u043b\u0438\u044f'\u00a0=\u00a0DATA\u00a0STRING[100]\u00a0(Employee);<\/p>\n<p>CLASS\u00a0Product\u00a0'\u041f\u0440\u043e\u0434\u0443\u043a\u0442';<br \/>\nid\u00a0=\u00a0DATA\u00a0INTEGER\u00a0(Product);<br \/>\nname\u00a0=\u00a0DATA\u00a0STRING[100]\u00a0(Product);<\/p>\n<p>CLASS\u00a0Order\u00a0'\u0417\u0430\u043a\u0430\u0437';<br \/>\ndate\u00a0=\u00a0DATA\u00a0DATE\u00a0(Order);<br \/>\nemployee\u00a0=\u00a0DATA\u00a0Employee\u00a0(Order);<\/p>\n<p>CLASS\u00a0Detail\u00a0'\u0421\u0442\u0440\u043e\u043a\u0430\u00a0\u0437\u0430\u043a\u0430\u0437\u0430';<\/p>\n<p>order\u00a0=\u00a0DATA\u00a0Order\u00a0(Detail);<br \/>\nproduct\u00a0=\u00a0DATA\u00a0Product\u00a0(Detail);<br \/>\nquantity\u00a0=\u00a0DATA\u00a0NUMERIC[10,5]\u00a0(Detail);<br \/>\n<\/code><\/p>\n<p>\n<b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">select LastName\nfrom Employees as e\nwhere (\n  select sum(od.Quantity)\n  from [Order Details] as od\n  where od.ProductID = 1 and od.OrderID in (\n    select o.OrderID\n    from Orders as o\n    where year(o.OrderDate) = 1997 and e.EmployeeID = o.EmployeeID)\n) &gt; 30\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>sold\u00a0(Employee\u00a0e,\u00a0INTEGER\u00a0productId,\u00a0INTEGER\u00a0year)\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0GROUP\u00a0SUM\u00a0quantity(OrderDetail\u00a0d)\u00a0IF\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0employee(order(d))\u00a0=\u00a0e\u00a0AND\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0id(product(d))\u00a0=\u00a0productId\u00a0AND\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0extractYear(date(order(d)))\u00a0=\u00a0year;<br \/>\nSELECT\u00a0lastName(Employee\u00a0e)\u00a0WHERE\u00a0sold(e,\u00a01,\u00a01997)\u00a0&gt;\u00a030;<br \/>\n<\/code><\/p>\n<p><\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 2.2<\/h3>\n<p>\n\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044f (\u0438\u043c\u044f, \u0444\u0430\u043c\u0438\u043b\u0438\u044f) \u043d\u0430\u0439\u0442\u0438 \u0434\u0432\u0430 \u0442\u043e\u0432\u0430\u0440\u0430 (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435), \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u0435\u043d\u0435\u0433 \u0432 1997-\u043c \u0433\u043e\u0434\u0443.<\/p>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c \u0434\u043e\u043c\u0435\u043d\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430:<\/p>\n<p><code>CLASS\u00a0Customer\u00a0'\u041a\u043b\u0438\u0435\u043d\u0442';<br \/>\ncontactName\u00a0'\u0424\u0418\u041e'\u00a0=\u00a0DATA\u00a0STRING[100]\u00a0(Customer);<\/p>\n<p>customer\u00a0=\u00a0DATA\u00a0Customer\u00a0(Order);<\/p>\n<p>unitPrice\u00a0=\u00a0DATA\u00a0NUMERIC[14,2]\u00a0(Detail);<br \/>\ndiscount\u00a0=\u00a0DATA\u00a0NUMERIC[6,2]\u00a0(Detail);<br \/>\n<\/code><\/p>\n<p>\n<b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">SELECT ContactName, ProductName FROM (\nSELECT c.ContactName, p.ProductName\n, ROW_NUMBER() OVER (\n    PARTITION BY c.ContactName\n    ORDER BY SUM(od.Quantity * od.UnitPrice * (1 - od.Discount)) DESC\n) AS RatingByAmt\nFROM Customers c\nJOIN Orders o ON o.CustomerID = c.CustomerID\nJOIN [Order Details] od ON od.OrderID = o.OrderID\nJOIN Products p ON p.ProductID = od.ProductID\nWHERE YEAR(o.OrderDate) = 1997\nGROUP BY c.ContactName, p.ProductName\n) t\nWHERE RatingByAmt &lt; 3\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>sum\u00a0(Detail\u00a0d)\u00a0=\u00a0quantity(d)\u00a0*\u00a0unitPrice(d)\u00a0*\u00a0(1\u00a0-\u00a0discount(d));<br \/>\nbought\u00a0'\u041a\u0443\u043f\u0438\u043b'\u00a0(Customer\u00a0c,\u00a0Product\u00a0p,\u00a0INTEGER\u00a0y)\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0GROUP\u00a0SUM\u00a0sum(Detail\u00a0d)\u00a0IF\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0customer(order(d))\u00a0=\u00a0c\u00a0AND\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0product(d)\u00a0=\u00a0p\u00a0AND\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0extractYear(date(order(d)))\u00a0=\u00a0y;<br \/>\nrating\u00a0'\u0420\u0435\u0439\u0442\u0438\u043d\u0433'\u00a0(Customer\u00a0c,\u00a0Product\u00a0p,\u00a0INTEGER\u00a0y)\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0PARTITION\u00a0SUM\u00a01\u00a0ORDER\u00a0DESC\u00a0bought(c,\u00a0p,\u00a0y),\u00a0p\u00a0BY\u00a0c,\u00a0y;<br \/>\nSELECT\u00a0contactName(Customer\u00a0c),\u00a0name(Product\u00a0p)\u00a0WHERE\u00a0rating(c,\u00a0p,\u00a01997)\u00a0&lt;\u00a03;<br \/>\n<\/code><\/p>\n<p>\n\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 PARTITION \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443: \u043e\u043d \u0441\u0443\u043c\u043c\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u0441\u043b\u0435 SUM (\u0437\u0434\u0435\u0441\u044c 1), \u0432\u043d\u0443\u0442\u0440\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f (\u0437\u0434\u0435\u0441\u044c Customer \u0438 Year, \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435), \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f \u043f\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0432 ORDER (\u0437\u0434\u0435\u0441\u044c bought, \u0430 \u0435\u0441\u043b\u0438 \u0440\u0430\u0432\u043d\u044b, \u0442\u043e \u043f\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c\u0443 \u043a\u043e\u0434\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430).<\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 2.3<\/h3>\n<p>\n\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u0443 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0437\u0430\u043a\u0430\u0437\u043e\u0432.<\/p>\n<p>\u041e\u043f\u044f\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c \u0434\u043e\u043c\u0435\u043d\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443:<\/p>\n<p><code>CLASS\u00a0Supplier\u00a0'\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a';<br \/>\ncompanyName\u00a0=\u00a0DATA\u00a0STRING[100]\u00a0(Supplier);<\/p>\n<p>supplier\u00a0=\u00a0DATA\u00a0Supplier\u00a0(Product);<\/p>\n<p>unitsInStock\u00a0'\u041e\u0441\u0442\u0430\u0442\u043e\u043a\u00a0\u043d\u0430\u00a0\u0441\u043a\u043b\u0430\u0434\u0435'\u00a0=\u00a0DATA\u00a0NUMERIC[10,3]\u00a0(Product);<br \/>\nreorderLevel\u00a0'\u041d\u043e\u0440\u043c\u0430\u00a0\u043f\u0440\u043e\u0434\u0430\u0436\u0438'\u00a0=\u00a0DATA\u00a0NUMERIC[10,3]\u00a0(Product);<br \/>\n<\/code><\/p>\n<p>\n<b>\u0420\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f<\/b><\/p>\n<pre><code class=\"sql\">select s.CompanyName, p.ProductName, sum(od.Quantity) + p.ReorderLevel \u2014 p.UnitsInStock as ToOrder\nfrom Orders o\njoin [Order Details] od on o.OrderID = od.OrderID\njoin Products p on od.ProductID = p.ProductID\njoin Suppliers s on p.SupplierID = s.SupplierID\nwhere o.ShippedDate is null\ngroup by s.CompanyName, p.ProductName, p.UnitsInStock, p.ReorderLevel\nhaving p.UnitsInStock &lt; sum(od.Quantity) + p.ReorderLevel\n<\/code><\/pre>\n<p>\n<b>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f<\/b><\/p>\n<p><code>orderedNotShipped\u00a0'\u0417\u0430\u043a\u0430\u0437\u0430\u043d\u043e,\u00a0\u043d\u043e\u00a0\u043d\u0435\u00a0\u043e\u0442\u0433\u0440\u0443\u0436\u0435\u043d\u043e'\u00a0(Product\u00a0p)\u00a0=\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0GROUP\u00a0SUM\u00a0quantity(OrderDetail\u00a0d)\u00a0IF\u00a0product(d)\u00a0=\u00a0p;<br \/>\ntoOrder\u00a0'\u041a\u00a0\u0437\u0430\u043a\u0430\u0437\u0443'\u00a0(Product\u00a0p)\u00a0=\u00a0orderedNotShipped(p)\u00a0+\u00a0reorderLevel(p)\u00a0-\u00a0unitsInStock(p);<br \/>\nSELECT\u00a0companyName(supplier(Product\u00a0p)),\u00a0name(p),\u00a0toOrder(p)\u00a0WHERE\u00a0toOrder(p)\u00a0&gt;\u00a00;<br \/>\n<\/code><\/p>\n<p><\/p>\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430 \u0441\u043e \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u043e\u0439<\/h3>\n<p>\n\u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043b\u0438\u0447\u043d\u043e \u043e\u0442 \u043c\u0435\u043d\u044f. \u0415\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0430 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u041b\u044e\u0434\u0438 \u043c\u043e\u0433\u0443\u0442 \u0434\u0440\u0443\u0436\u0438\u0442\u044c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0438 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443. \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p><code>CLASS\u00a0Person;<br \/>\nlikes\u00a0=\u00a0DATA\u00a0BOOLEAN\u00a0(Person,\u00a0Person);<br \/>\nfriends\u00a0=\u00a0DATA\u00a0BOOLEAN\u00a0(Person,\u00a0Person);<br \/>\n<\/code><\/p>\n<p>\n\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0439\u0442\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u0432 \u043d\u0430 \u0434\u0440\u0443\u0436\u0431\u0443. \u0411\u043e\u043b\u0435\u0435 \u0444\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435\u0445 \u043b\u044e\u0434\u0435\u0439 A, B, C \u0442\u0430\u043a\u0438\u0445, \u0447\u0442\u043e A \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 B, \u0430 B \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 C, A \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f C, \u043d\u043e A \u043d\u0435 \u0434\u0440\u0443\u0436\u0438\u0442 \u0441 C.<br \/>\n\u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p><code>SELECT\u00a0Person\u00a0a,\u00a0Person\u00a0b,\u00a0Person\u00a0c\u00a0WHERE\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0likes(a,\u00a0c)\u00a0AND\u00a0NOT\u00a0friends(a,\u00a0c)\u00a0AND\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0friends(a,\u00a0b)\u00a0AND\u00a0friends(b,\u00a0c);<br \/>\n<\/code><\/p>\n<p>\n\u0427\u0438\u0442\u0430\u0442\u0435\u043b\u044e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u043d\u0430 SQL. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0434\u0440\u0443\u0437\u0435\u0439 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0442\u0435\u0445, \u043a\u0442\u043e \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0438 \u043b\u0435\u0436\u0430\u0442 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441 \u0434\u0432\u0443\u043c\u044f \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0430\u043c\u0438. \u0412 \u043d\u0435\u0439 \u0434\u0440\u0443\u0436\u0431\u0430 \u043d\u0435 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u0430. \u041d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<p><code>SELECT\u00a0Person\u00a0a,\u00a0Person\u00a0b,\u00a0Person\u00a0c\u00a0WHERE\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0likes(a,\u00a0c)\u00a0AND\u00a0NOT\u00a0friends(a,\u00a0c)\u00a0AND\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0(friends(a,\u00a0b)\u00a0OR\u00a0friends(b,\u00a0a))\u00a0AND\u00a0<br \/>\n\u00a0\u00a0\u00a0\u00a0(friends(b,\u00a0c)\u00a0OR\u00a0friends(c,\u00a0b));<br \/>\n<\/code><\/p>\n<p>\nUPD: \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u043f\u0435\u0440\u0432\u043e\u0439 \u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u043e\u0439 \u043e\u0442 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/dss_kalika\/\" class=\"user_link\">dss_kalika<\/a><\/noindex>:<\/p>\n<pre><code class=\"sql\">SELECT \n   pl.PersonAID\n  ,pf.PersonAID\n  ,pff.PersonAID\nFROM Persons                 AS p\n--\u041b\u0430\u0439\u043a\u0438                      \nJOIN PersonRelationShip      AS pl ON pl.PersonAID = p.PersonID\n                                  AND pl.Relation  = 'Like'\n--\u0414\u0440\u0443\u0437\u044c\u044f                     \nJOIN PersonRelationShip      AS pf ON pf.PersonAID = p.PersonID \n                                  AND pf.Relation = 'Friend'\n--\u0414\u0440\u0443\u0437\u044c\u044f \u0414\u0440\u0443\u0437\u0435\u0439              \nJOIN PersonRelationShip      AS pff ON pff.PersonAID = pf.PersonBID\n                                   AND pff.PersonBID = pl.PersonBID\n                                   AND pff.Relation = 'Friend'\n--\u0415\u0449\u0451 \u043d\u0435 \u0434\u0440\u0443\u0436\u0430\u0442         \nLEFT JOIN PersonRelationShip AS pnf ON pnf.PersonAID = p.PersonID\n                                   AND pnf.PersonBID = pff.PersonBID\n                                   AND pnf.Relation = 'Friend'\nWHERE pnf.PersonAID IS NULL \n<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"sql\">;WITH PersonRelationShipCollapsed AS (\n  SELECT pl.PersonAID\n        ,pl.PersonBID\n        ,pl.Relation \n  FROM #PersonRelationShip      AS pl \n  \n  UNION \n\n  SELECT pl.PersonBID AS PersonAID\n        ,pl.PersonAID AS PersonBID\n        ,pl.Relation\n  FROM #PersonRelationShip      AS pl \n)\nSELECT \n   pl.PersonAID\n  ,pf.PersonBID\n  ,pff.PersonBID\nFROM #Persons                      AS p\n--\u041b\u0430\u0439\u043a\u0438                      \nJOIN PersonRelationShipCollapsed  AS pl ON pl.PersonAID = p.PersonID\n                                 AND pl.Relation  = 'Like'                                  \n--\u0414\u0440\u0443\u0437\u044c\u044f                          \nJOIN PersonRelationShipCollapsed  AS pf ON pf.PersonAID = p.PersonID \n                                 AND pf.Relation = 'Friend'\n--\u0414\u0440\u0443\u0437\u044c\u044f \u0414\u0440\u0443\u0437\u0435\u0439                   \nJOIN PersonRelationShipCollapsed  AS pff ON pff.PersonAID = pf.PersonBID\n                                 AND pff.PersonBID = pl.PersonBID\n                                 AND pff.Relation = 'Friend'\n--\u0415\u0449\u0451 \u043d\u0435 \u0434\u0440\u0443\u0436\u0430\u0442                   \nLEFT JOIN PersonRelationShipCollapsed AS pnf ON pnf.PersonAID = p.PersonID\n                                   AND pnf.PersonBID = pff.PersonBID\n                                   AND pnf.Relation = 'Friend'\nWHERE pnf.[PersonAID] IS NULL \n<\/code><\/pre>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\n\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u044f\u0437\u044b\u043a\u0430 \u2014 \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438. \u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0431\u044b\u043b \u0432\u0437\u044f\u0442 \u0438\u043c\u0435\u043d\u043d\u043e SQL, \u0438 \u0446\u0435\u043b\u044c\u044e \u0431\u044b\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 \u043d\u0435\u0433\u043e. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043a\u043e\u043c\u0443-\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0441\u043b\u043e\u0432 \u0438 \u043f\u0440\u043e\u0447\u0435\u0435. \u0417\u0434\u0435\u0441\u044c \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f. \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 C++, \u0438 Python \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441.<\/p>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430\u043c\u0438:<\/p>\n<ul>\n<li><b>\u041f\u0440\u043e\u0441\u0442\u043e\u0442\u0430<\/b>. \u042d\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u0435\u043d \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445. \u041d\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u043e \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0430\u043c\u0438), \u0442\u043e, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0449\u0435.<\/li>\n<li><b>\u0418\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u044f<\/b>. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u044f \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u043b \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <i>sold<\/i>, <i>bought<\/i> \u0438 \u0442.\u0434.), \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0440\u043e\u0438\u043b\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u043a\u0438 \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u0445 \u043e\u0442 \u043d\u0438\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u0430\u0436\u0438 <i>sold<\/i> \u0441\u0447\u0438\u0442\u0430\u043b\u0438\u0441\u044c \u043e\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f. \u0414\u0430, \u0432 \u0420\u0421\u0423\u0411\u0414 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 CREATE VIEW. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u0441\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0442\u043e \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u043e\u0439. <\/li>\n<li><b>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u044b\u0432\u0430<\/b>. \u0422\u0430\u043a\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0438 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 (\u0432\u043c\u0435\u0441\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u043f\u043e\u043b\u0435\u0439). \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0438 \u0432 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 (\u0435\u0441\u043b\u0438 \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441 \u043f\u0435\u0440\u0432\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0432 \u0432\u0438\u0434\u0435 \u043a\u043b\u0430\u0441\u0441\u0430, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u043d \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f). \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u00ab\u043f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c\u00bb \u0441 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0449\u0435. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044d\u0442\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0432\u0438\u0434\u0430:\n<p><code>CONSTRAINT\u00a0sold(Employee\u00a0e,\u00a01,\u00a02019)\u00a0&gt;\u00a0100\u00a0IF\u00a0name(e)\u00a0=\u00a0'\u041f\u0435\u0442\u044f'\u00a0MESSAGE\u00a0\u00a0'\u0427\u0442\u043e-\u0442\u043e\u00a0\u041f\u0435\u0442\u044f\u00a0\u043f\u0440\u043e\u0434\u0430\u0435\u0442\u00a0\u0441\u043b\u0438\u0448\u043a\u043e\u043c\u00a0\u043c\u043d\u043e\u0433\u043e\u00a0\u043e\u0434\u043d\u043e\u0433\u043e\u00a0\u0442\u043e\u0432\u0430\u0440\u0430\u00a0\u0432\u00a02019\u00a0\u0433\u043e\u0434\u0443';<br \/>\n<\/code><\/p>\n<p>\n<\/li>\n<li><b>\u041d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c<\/b>. \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 CLASS ClassP: Class1, Class2 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u0438\u043c\u043e\u0440\u0444\u0438\u0437\u043c. \u041a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0448\u0443 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445. <\/li>\n<\/ul>\n<p>\n\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0443\u0436\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430 Java, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0432 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443. \u041f\u043b\u044e\u0441 \u043a \u043d\u0435\u0439 \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043f\u0440\u0438\u043a\u0440\u0443\u0447\u0435\u043d\u0430 \u043b\u043e\u0433\u0438\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0446\u0435\u043b\u0430\u044f <noindex><a rel=\"nofollow\" href=\"https:\/\/lsfusion.org\">\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/a><\/noindex>. \u041f\u043e \u0441\u0443\u0442\u0438, \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0420\u0421\u0423\u0411\u0414 (\u043f\u043e\u043a\u0430 \u0442\u043e\u043b\u044c\u043a\u043e PostgreSQL) \u043a\u0430\u043a \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443\u00bb. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0438\u043d\u043e\u0433\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0420\u0421\u0423\u0411\u0414 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0437\u043d\u0430\u0435\u0442 \u0424\u0421\u0423\u0411\u0414. \u0412 \u0442\u0435\u043e\u0440\u0438\u0438, \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043d\u0435\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443.<br \/>\n<br \/>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/lsfusion\/blog\/458774\/\">habr.com<\/a><\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0438\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0432\u043d\u043e \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0421\u0423\u0411\u0414, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u0437\u044b\u043a SQL. \u041d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 NoSQL. \u0418\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0431\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0440\u044b\u043d\u043a\u0435, \u043d\u043e \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0421\u0423\u0411\u0414 \u0443\u043c\u0438\u0440\u0430\u0442\u044c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f, \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u0435\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36316","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0438\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0432\u043d\u043e \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0421\u0423\u0411\u0414, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u0437\u044b\u043a SQL. \u041d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 NoSQL. \u0418\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0431\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0440\u044b\u043d\u043a\u0435, \u043d\u043e \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0421\u0423\u0411\u0414 \u0443\u043c\u0438\u0440\u0430\u0442\u044c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f, \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u0435\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u044f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/funktsionalnaya-subd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0421\u0423\u0411\u0414 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0438\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0432\u043d\u043e \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0421\u0423\u0411\u0414, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u0437\u044b\u043a SQL. \u041d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 NoSQL. \u0418\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0431\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0440\u044b\u043d\u043a\u0435, \u043d\u043e \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0421\u0423\u0411\u0414 \u0443\u043c\u0438\u0440\u0430\u0442\u044c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f, \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u0435\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u044f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/funktsionalnaya-subd\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:10:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:10:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Funktionale DBMS | ProHoster","description":"Die Welt der Datenbanken wird seit Langem von relationalen DBMS dominiert, in denen die Sprache SQL verwendet wird. So sehr, dass die neu auftauchenden Varianten als NoSQL bezeichnet werden. Es ist ihnen gelungen, sich auf diesem Markt einen bestimmten Platz zu sichern, aber relationale DBMS haben nicht vor zu verschwinden und werden weiterhin aktiv f\u00fcr ihre Zwecke eingesetzt. In diesem Artikel m\u00f6chte ich das Konzept einer funktionalen Datenbank beschreiben. Zum besseren Verst\u00e4ndnis, ich","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/funktsionalnaya-subd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0421\u0423\u0411\u0414 | ProHoster","og:description":"\u041c\u0438\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0432\u043d\u043e \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u043c\u0438 \u0421\u0423\u0411\u0414, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u0437\u044b\u043a SQL. \u041d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0430\u0437\u043d\u043e\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 NoSQL. \u0418\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0431\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0440\u044b\u043d\u043a\u0435, \u043d\u043e \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0421\u0423\u0411\u0414 \u0443\u043c\u0438\u0440\u0430\u0442\u044c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f, \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u0435\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u044f","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/funktsionalnaya-subd","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:10:53+00:00","article:modified_time":"2019-10-31T19:10:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36316","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 02:51:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:47:34","updated":"2026-01-22 02:51:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=36316"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36316\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=36316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=36316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=36316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}