<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>بایگانی‌های گراف دیتابیس - بازسازی</title>
	<atom:link href="http://recompile.ir/tag/%DA%AF%D8%B1%D8%A7%D9%81-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3/feed/" rel="self" type="application/rss+xml" />
	<link>https://recompile.ir/tag/گراف-دیتابیس/</link>
	<description>مشاوره و آموزش برای بازسازی و تغییر</description>
	<lastBuildDate>Wed, 10 Mar 2021 11:18:53 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>http://recompile.ir/wp-content/uploads/2020/08/cropped-android-chrome-512x512-1-32x32.png</url>
	<title>بایگانی‌های گراف دیتابیس - بازسازی</title>
	<link>https://recompile.ir/tag/گراف-دیتابیس/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>محدودیتها و مثال از گراف دیتابیس (بخش سوم)</title>
		<link>http://recompile.ir/learning/database/%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa%d9%87%d8%a7-%d9%88-%d9%85%d8%ab%d8%a7%d9%84-%d8%a7%d8%b2-%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88/</link>
					<comments>http://recompile.ir/learning/database/%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa%d9%87%d8%a7-%d9%88-%d9%85%d8%ab%d8%a7%d9%84-%d8%a7%d8%b2-%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Sun, 10 Jan 2021 11:10:34 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[دیتابیس]]></category>
		<category><![CDATA[graph database]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[گراف دیتابیس]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=320</guid>

					<description><![CDATA[<p>محدودیتها در این بخش به معرفی محدودیتهای گراف دیتابیس sql و همچنین یک مثال عملی می پردازیم جداول موقت (temporal table) ها نمی توانند از نوع نود و یال باشند Table types و &#160;table variables ها نمی توانند از نوع نود و یال باشند قابلیت temporal table برای جداول نود و یال پشتیبانی نشده است [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/database/%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa%d9%87%d8%a7-%d9%88-%d9%85%d8%ab%d8%a7%d9%84-%d8%a7%d8%b2-%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88/">محدودیتها و مثال از گراف دیتابیس (بخش سوم)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">زمان مطالعه: </span> <span class="rt-time"> 4</span> <span class="rt-label rt-postfix">دقیقه</span></span>
<p><strong>محدودیتها</strong></p>



<p>در این بخش به معرفی محدودیتهای گراف دیتابیس sql و همچنین یک مثال عملی می پردازیم</p>



<ol class="wp-block-list" type="1"><li>جداول موقت (temporal table) ها نمی توانند از نوع نود و یال باشند<ol><li>Table types و &nbsp;table variables ها نمی توانند از نوع نود و یال باشند</li></ol><ol><li>قابلیت temporal table برای جداول نود و یال پشتیبانی نشده است</li></ol><ol><li>جداول نود و یال نمی توانند بصورت memory optimized table ایجاد شوند</li></ol><ol><li>فیلدهای $from_id , $to_id آپدیت نمی شوند و در صورت نیاز به تغییر باید حذف شوند و ارتباط مجدد درج شود</li></ol><ol><li>Cross database کوئری ها برای این جداول پشتیبانی نشده است</li></ol></li></ol>



<p><strong>یک مثال</strong></p>



<p>موجودیتهای زیر را در نظر بگیرید</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="419" height="337" src="http://recompile.ir/wp-content/uploads/2021/01/4.jpg" alt="" class="wp-image-323" srcset="http://recompile.ir/wp-content/uploads/2021/01/4.jpg 419w, http://recompile.ir/wp-content/uploads/2021/01/4-300x241.jpg 300w" sizes="(max-width: 419px) 100vw, 419px" /></figure>



<p>پس از تعریف جداول و سپس مقدار دهی آنها به شرح زیر به نتیجه هایی دست پیدا خواهیم کرد</p>



<pre class="wp-block-preformatted"></pre>



<pre class="wp-block-code"><code>-- Create NODE tables
CREATE TABLE Person (
	ID INTEGER PRIMARY KEY
	,name VARCHAR(100)
	) AS NODE;

CREATE TABLE Restaurant (
	ID INTEGER NOT NULL
	,name VARCHAR(100)
	,city VARCHAR(100)
	) AS NODE;

CREATE TABLE City (
	ID INTEGER PRIMARY KEY
	,name VARCHAR(100)
	,stateName VARCHAR(100)
	) AS NODE;
-- Create EDGE tables. 
CREATE TABLE likes (rating INTEGER) AS EDGE;

CREATE TABLE friendOf AS EDGE;

CREATE TABLE livesIn AS EDGE;

CREATE TABLE locatedIn AS EDGE;
</code></pre>



<p>اضافه کردن داده ها</p>



<pre class="wp-block-code"><code>-- Insert data into node tables. Inserting into a node table is same as inserting into a regular table
INSERT INTO Person
VALUES (
	1
	,'John'
	);

INSERT INTO Person
VALUES (
	2
	,'Mary'
	);

INSERT INTO Person
VALUES (
	3
	,'Alice'
	);

INSERT INTO Person
VALUES (
	4
	,'Jacob'
	);

INSERT INTO Person
VALUES (
	5
	,'Julie'
	);

INSERT INTO Restaurant
VALUES (
	1
	,'Taco Dell'
	,'Bellevue'
	);

INSERT INTO Restaurant
VALUES (
	2
	,'Ginger and Spice'
	,'Seattle'
	);

INSERT INTO Restaurant
VALUES (
	3
	,'Noodle Land'
	,'Redmond'
	);

INSERT INTO City
VALUES (
	1
	,'Bellevue'
	,'wa'
	);

INSERT INTO City
VALUES (
	2
	,'Seattle'
	,'wa'
	);

INSERT INTO City
VALUES (
	3
	,'Redmond'
	,'wa'
	);
</code></pre>



<p>اضافه کردن داده ها در جداول edge ها و شروع ایجاد روابط با استفاده از node_id$ .. مدیریت لایک ها و &#8230;</p>



<pre class="wp-block-code"><code>-- Insert into edge table. While inserting into an edge table, 
-- you need to provide the $node_id from $from_id and $to_id columns.
INSERT INTO likes
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 1
		)
	,(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 1
		)
	,9
	);

INSERT INTO likes
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 2
		)
	,(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 2
		)
	,9
	);

INSERT INTO likes
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 3
		)
	,(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 3
		)
	,9
	);

INSERT INTO likes
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 4
		)
	,(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 3
		)
	,9
	);

INSERT INTO likes
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 5
		)
	,(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 3
		)
	,9
	);

INSERT INTO livesIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 1
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 1
		)
	);

INSERT INTO livesIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 2
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 2
		)
	);

INSERT INTO livesIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 3
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 3
		)
	);

INSERT INTO livesIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 4
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 3
		)
	);

INSERT INTO livesIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Person
		WHERE id = 5
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 1
		)
	);

INSERT INTO locatedIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 1
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 1
		)
	);

INSERT INTO locatedIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 2
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 2
		)
	);

INSERT INTO locatedIn
VALUES (
	(
		SELECT $NODE_ID
		FROM Restaurant
		WHERE id = 3
		)
	,(
		SELECT $NODE_ID
		FROM City
		WHERE id = 3
		)
	);

-- Insert data into the friendof edge.
INSERT INTO friendof
VALUES (
	(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 1
		)
	,(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 2
		)
	);

INSERT INTO friendof
VALUES (
	(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 2
		)
	,(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 3
		)
	);

INSERT INTO friendof
VALUES (
	(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 3
		)
	,(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 1
		)
	);

INSERT INTO friendof
VALUES (
	(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 4
		)
	,(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 2
		)
	);

INSERT INTO friendof
VALUES (
	(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 5
		)
	,(
		SELECT $NODE_ID
		FROM person
		WHERE ID = 4
		)
	);
</code></pre>



<p>نمایش داده ها و بازیابی رکوردها .. همینطور که میبینید خروجی کوئری ها بصورت فرمت json هست :</p>



<pre class="wp-block-code"><code>SELECT *
FROM dbo.friendOf
</code></pre>



<figure class="wp-block-image size-large"><img decoding="async" width="810" height="206" src="http://recompile.ir/wp-content/uploads/2021/01/3.jpg" alt="" class="wp-image-322" srcset="http://recompile.ir/wp-content/uploads/2021/01/3.jpg 810w, http://recompile.ir/wp-content/uploads/2021/01/3-300x76.jpg 300w, http://recompile.ir/wp-content/uploads/2021/01/3-768x195.jpg 768w" sizes="(max-width: 810px) 100vw, 810px" /></figure>
<p>بازدیدها: 0</p><p>نوشته <a href="http://recompile.ir/learning/database/%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa%d9%87%d8%a7-%d9%88-%d9%85%d8%ab%d8%a7%d9%84-%d8%a7%d8%b2-%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88/">محدودیتها و مثال از گراف دیتابیس (بخش سوم)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/database/%d9%85%d8%ad%d8%af%d9%88%d8%af%db%8c%d8%aa%d9%87%d8%a7-%d9%88-%d9%85%d8%ab%d8%a7%d9%84-%d8%a7%d8%b2-%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>گراف دیتابیس چیست؟ (بخش اول)</title>
		<link>http://recompile.ir/learning/database/%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%da%86%db%8c%d8%b3%d8%aa%d8%9f-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/</link>
					<comments>http://recompile.ir/learning/database/%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%da%86%db%8c%d8%b3%d8%aa%d8%9f-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Sun, 10 Jan 2021 11:02:31 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[دیتابیس]]></category>
		<category><![CDATA[graph database]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[گراف دیتابیس]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=313</guid>

					<description><![CDATA[<p>گراف دیتابیس ها(graph database) این امکان را برای ما فراهم می کنند که ما داده ها و رابطه ها رو در قالب ساختار گراف ذخیره کنیم . در پایگاه داده های رابطه ای بستگی به نوع سناریو که داریم بعضی اوقات نیاز هست که برای پیاده سازی روابط خیلی پیچیده ، داده ها را در [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/database/%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%da%86%db%8c%d8%b3%d8%aa%d8%9f-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/">گراف دیتابیس چیست؟ (بخش اول)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">زمان مطالعه: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">دقیقه</span></span>
<p>گراف دیتابیس ها(graph database) این امکان را برای ما فراهم می کنند که ما داده ها و رابطه ها رو در قالب ساختار گراف ذخیره کنیم .</p>



<p>در پایگاه داده های رابطه ای بستگی به نوع سناریو که داریم بعضی اوقات نیاز هست که برای پیاده سازی روابط خیلی پیچیده ، داده ها را در قالب جداول متعدد ذخیره کنیم .. این جا ما مجبور به نوشتن Query ها و Join های زیادی بودیم که بتوانیم خروجی و گزارش دلخواه مان را بسازیم . هرچقدر کوئری های ما بزرگ و پیچیده بشود و روابط بین جداول زیاد (Join) ، هزینه اجرای دستور ما (Cost of Query) بالا میرود و سرعت اجرای دستورات پایین و پایین تر &#8230;</p>



<p>با استفاده از امکانات گراف دیتابیس می توانیم این پیچیدگی ها را ساده کنیم .</p>



<p>Neo4j, OrientDB , Amazon Neptune از معروف ترین پایگاه داده های مبتنی بر گراف هستند</p>



<p><strong>مفاهیم اصلی</strong><strong> Graph Database </strong><strong>ها</strong><strong> :&nbsp;</strong></p>



<ul class="wp-block-list"><li>گره‌ها یا node ← نشان دهنده موجودیت یا entitiy های ما هستند .. مثل مردم، کسب و کار ، حساب‌های کاربری &nbsp;&#8230;</li><li>یال‌ها یا edge ← و به‌طور کلی یال‌ها وظیفه نمایش روابط را در دیتابیس بر عهده دارند. همچنین بسیاری از اطلاعات مهم در یال‌ها ذخیره می‌شوند.</li></ul>



<p><strong>چه موقع از ساختار گراف بهتره استفاده کرد ؟</strong><strong></strong></p>



<ol class="wp-block-list" type="1"><li>مواقعی که برنامه شما دارای داده ها با ساختار سلسله مراتبی است (hierarchy) .. مثل&nbsp; چارت سازمانی</li><li>موجودیت های شما دارای روابط پیچیده چند به چند باشد</li></ol>



<p>به عنوان مثال ، یک گره جدول (node table)&nbsp; Personهمه نود های Person متعلق به یک گراف را در خود نگه می دارد. به طور مشابه ، یال جدول (edge table) مجموعه ای از نوع مشابه لبه ها(یال ها) است. به عنوان مثال ، یک یال جدول Friends تمام یال هایی را که یک شخص را به شخص دیگری متصل می کند ، نگه می دارد. از آنجا که گره ها و یال ها در جداول ذخیره می شوند ، بیشتر عملیات پشتیبانی شده روی جداول معمولی بر روی جدول های گره یا یال پشتیبانی می شوند.</p>
<p>بازدیدها: 0</p><p>نوشته <a href="http://recompile.ir/learning/database/%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%da%86%db%8c%d8%b3%d8%aa%d8%9f-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/">گراف دیتابیس چیست؟ (بخش اول)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/database/%da%af%d8%b1%d8%a7%d9%81-%d8%af%db%8c%d8%aa%d8%a7%d8%a8%db%8c%d8%b3-%da%86%db%8c%d8%b3%d8%aa%d8%9f-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>معماری SQL Server Graph Database (بخش دوم)</title>
		<link>http://recompile.ir/learning/database/%d9%85%d8%b9%d9%85%d8%a7%d8%b1%db%8c-sql-server-graph-database-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/</link>
					<comments>http://recompile.ir/learning/database/%d9%85%d8%b9%d9%85%d8%a7%d8%b1%db%8c-sql-server-graph-database-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/#respond</comments>
		
		<dc:creator><![CDATA[محمد خوش کشت]]></dc:creator>
		<pubDate>Sun, 10 Jan 2021 11:01:40 +0000</pubDate>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[دیتابیس]]></category>
		<category><![CDATA[graph database]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[گراف دیتابیس]]></category>
		<guid isPermaLink="false">http://recompile.ir/?p=315</guid>

					<description><![CDATA[<p>معماری graph database Node Table (گره جدول) یک گره جدول ، موجودی موجود در یک طرح گراف را نشان می دهد. هر بار که یک گره جدول ایجاد می شود ، همراه با ستون های تعریف شده توسط کاربر ، یک ستون ضمنی&#160; $node_id ایجاد می شود ، که به طور یونیک به یک مپ [&#8230;]</p>
<p>نوشته <a href="http://recompile.ir/learning/database/%d9%85%d8%b9%d9%85%d8%a7%d8%b1%db%8c-sql-server-graph-database-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/">معماری SQL Server Graph Database (بخش دوم)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">زمان مطالعه: </span> <span class="rt-time"> 2</span> <span class="rt-label rt-postfix">دقیقه</span></span>
<p><strong>معماری </strong><strong>graph database</strong></p>



<figure class="wp-block-image size-large"><img decoding="async" width="409" height="433" src="http://recompile.ir/wp-content/uploads/2021/01/1.jpg" alt="" class="wp-image-317" srcset="http://recompile.ir/wp-content/uploads/2021/01/1.jpg 409w, http://recompile.ir/wp-content/uploads/2021/01/1-283x300.jpg 283w" sizes="(max-width: 409px) 100vw, 409px" /></figure>



<p><strong>Node Table </strong><strong>(گره جدول)</strong></p>



<p>یک گره جدول ، موجودی موجود در یک طرح گراف را نشان می دهد. هر بار که یک گره جدول ایجاد می شود ، همراه با ستون های تعریف شده توسط کاربر ، یک ستون ضمنی&nbsp; $node_id ایجاد می شود ، که به طور یونیک به یک مپ می شود. مقادیر $node_id به طور خودکار تولید می شوند و ترکیبی از object_id آن گره جدول و مقدار bigint تولید شده در داخل هستند. با این حال ، وقتی ستون&nbsp; $node_id انتخاب می شود ، یک مقدار محاسبه شده به شکل یک رشته JSON نمایش داده می شود. همچنین ،&nbsp; $node_id یک ستون کاذب است که به یک نام داخلی با رشته hex مپ می شود. وقتی&nbsp; $node_id را از جدول انتخاب کنید ، نام ستون به صورت $node_id_&lt;hex_string&gt; ظاهر می شود. بهتر است از نام ستون کاذب در کوئری ها برای رسیدن به $node_id داخلی&nbsp; و باید از استفاده از نام داخلی با رشته hex خودداری شود.</p>



<p>به کاربران توصیه می شود که در هنگام ایجاد جدول node ، constraint یا ایندکس یونیک به فرد را در ستون&nbsp; $node_id ایجاد کنند ، اما اگر یکی ایجاد نشود ، یک ایندکس nonclustered پیش فرض به طور خودکار ایجاد می شود. با این حال ، هر index در یک ستون کاذب &nbsp;گراف در ستون های داخلی زیر ایجاد می شود. یعنی ایندکسی که در ستون&nbsp; $node_id ایجاد شده است ، در ستون داخلیgragh_id_&lt;hexstring&gt; ظاهر می شود.</p>



<p><strong>Edge Table </strong><strong>(یال جدول)</strong></p>



<p>یک یال جدول نشان دهنده یک رابطه در یک گراف است. یال ها همیشه دو گره (نود) را به هم متصل می کنند. یک جدول edge کاربران را قادر می سازد روابط many to many را در گراف مدلسازی کنند. یک یال جدول ممکن است هیچ attribute &nbsp;مشخص شده توسط کاربر را در خود نداشته باشد. هر بار که یال جدول ایجاد می شود ، همراه با attribute های تعریف شده توسط کاربر ، سه ستون ضمنی در یال جدول ایجاد می شود:</p>



<p>$edge_id : شناسه یونیک یک یال است . این ستون از ترکیب object_id جدول و یک مقدار bigint داخلی است. با این حال ، وقتی ستون&nbsp; $edge_id انتخاب می شود ، مقدار محاسبه شده ای به شکل رشته JSON نمایش داده می شود.</p>



<p>$form_id &nbsp;: node_id&nbsp; &nbsp;شناسه جدول نود که ارتباط از آن شروع شده را ذخیره می کند</p>



<p>$to_id: node_id&nbsp; &nbsp;شناسه جدول نود که ارتباط از تا آنجا ادامه دارد را ذخیره می کند</p>



<p>نود هایی که در یک یال آمده می تواند داده هایی که توسط داده های درج شده در ستون&nbsp; $from_id و&nbsp; $to_id اداره می شود را به هم متصل کند. در اولین نسخه ، امکان تعریف constraint برای یال جدول ها جهت محدود ارتباط با چند نوع نود وجود ندارد. یعنی یک یال می تواند هر دو گره(نود)ی را در گراف به هم وصل کند ، صرف نظر از نوع آن.</p>



<p>نحوه ذخیره جداول گره و یال در دیتابیس</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="697" height="255" src="http://recompile.ir/wp-content/uploads/2021/01/2.jpg" alt="" class="wp-image-318" srcset="http://recompile.ir/wp-content/uploads/2021/01/2.jpg 697w, http://recompile.ir/wp-content/uploads/2021/01/2-300x110.jpg 300w" sizes="auto, (max-width: 697px) 100vw, 697px" /></figure>
<p>بازدیدها: 0</p><p>نوشته <a href="http://recompile.ir/learning/database/%d9%85%d8%b9%d9%85%d8%a7%d8%b1%db%8c-sql-server-graph-database-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/">معماری SQL Server Graph Database (بخش دوم)</a> اولین بار در <a href="http://recompile.ir">بازسازی</a>. پدیدار شد.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://recompile.ir/learning/database/%d9%85%d8%b9%d9%85%d8%a7%d8%b1%db%8c-sql-server-graph-database-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
