একটি স্থানিক টেবিল ব্যবহার করুন, যাকে বলা হয় location
এবং অন্য একটি স্থানিক টেবিল sample
,। এটি স্থানিক করতে, একটি ভিউ বলা হয় location_sample
। নীচের স্কিমা পোস্টজিআইএস ২.০ টাইপমোড সিনট্যাক্স ব্যবহার করছে:
CREATE TABLE location(
gid serial NOT NULL,
geom geometry(Point,4326),
name character varying(50) NOT NULL,
CONSTRAINT location_pkey PRIMARY KEY (gid),
CONSTRAINT name_unique UNIQUE (name)
);
CREATE INDEX location_geom_idx ON location USING gist (geom);
CREATE TABLE sample(
sid serial NOT NULL,
name character varying(50) NOT NULL,
location_name character varying(50),
CONSTRAINT sample_pkey PRIMARY KEY (sid),
CONSTRAINT location_name_fkey FOREIGN KEY (location_name)
REFERENCES location (name) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
);
CREATE INDEX fki_location_name_fkey ON sample USING btree (location_name);
CREATE VIEW location_sample AS
SELECT sample.sid, location.geom, sample.location_name, sample.name
FROM location
LEFT JOIN sample ON sample.location_name = location.name;
আপনার location_sample
কিউজিআইএস বা আপনি যে কোনও জিআইএস ব্যবহার করছেন তা লোড করতে সক্ষম হওয়া উচিত । প্রত্যেককে sample
একটি দিয়ে বরাদ্দ করুন location_name
এবং এটি সেই স্থানে উপস্থিত হবে। আপনি কিউজিআইএস ১.৮ ব্যবহার করছেন, বিবেচনা করার জন্য একটি অতিরিক্ত পদক্ষেপ রয়েছে । এই দর্শনটির জন্য "প্রাথমিক কী" হ'ল sid
("নমুনা আইডি ভাবেন")।
আমি কিভাবে সেটআপ করেছেন বিদেশী কী মধ্যে location
এবং sample
হল:
- যদি আপনি
location_name
এমন কোনও নমুনায় টাইপ করেন যা বিদ্যমান নেই, বা ভুলভাবে টাইপ করা হয় (স্পেস, ড্যাশ, কেস, ইত্যাদি), এটি আপনাকে এটি ব্যবহার করতে দেয় না (যেমন, MATCH SIMPLE
)
- যদি আপনি একটি
location
( name
ক্ষেত্রের) নাম পরিবর্তন করেন তবে তার সাথে সংযুক্ত সমস্ত নমুনাগুলি তাদের location_name
ক্ষেত্রগুলি আপডেট করবে (যেমন, ON UPDATE CASCADE
)
- আপনি যদি একটি
location
সারি মুছে ফেলেন তবে এর সাথে সংযুক্ত সমস্ত নমুনা মুছে ফেলা হবে (যেমন, ON DELETE CASCADE
)
বিভিন্ন আচরণ পেতে বিদেশী কী সীমাবদ্ধতাগুলি পড়ুন, এটি আপনার পরিস্থিতির সাথে আরও ভাল মেলে।
এছাড়াও আপনি সংক্ষেপ করতে sample
সমষ্টিগত ফাংশন ব্যবহার করে, মত মান count
, min
, avg
, ইত্যাদি, এবং এই একটি অনুরূপ স্থানিক দৃশ্য আছে। আপনি যদি আপনার অ-স্থানীয় টেবিলে সংখ্যাসূচক কলাম যুক্ত করেন তবে এটি সর্বাধিক অর্থপূর্ণ হয়।