안녕하세요. 현재 프로젝트 수정 중에 있는데요.
MSSQL2005 은 처음 사용해보는 DB라서 간단한 CRUD만 해봤던 저로서는 DB를 원활히 만지기는 힘든부분이 있었는데요.
본론을 말하자면
MsSql 접속 할때
ID : SA
PW : mssql
뭐 이런식으로 들어가게되면
그안에 데이터베이스 라고 해서 TEST1 , TEST2 ... 이렇게 데이터 베이스 이름들이 있습니다.
헌데 지금
ID : TEST1
PW : mssql
이렇게 로그인을 해서 해당 데이터 베이스의 쿼리창을 실행하고
select 할때에는
select * from tbl_test1
이렇게 select 날리게되면 쿼리가 실행된 결과가 쭉~ 나오는데요.
1. 테이블 이름 앞에보면 dbo.tbl_test1 , test1.tbl_test1 이렇게 테이블 이름앞에 붙어있는것을 뭐라고 부르나요?
이것이 첫번째 질문이구요.
제가 하고싶은것은
두번째 질문 드립니다. ㅠ
TEST1 TEST2 데이터 베이스에서
TEST2 데이터베이스로 쿼리창을 열고
select * from tbl_test1 이렇게 select 하게되면 쿼리 오류 : 개체 이름 ~~~~이(가) 잘못되었습니다.
라고 뜨는데요.
select * from test1.tbl_test1 이렇게 쿼리를 날리면 결과가 잘 나옵니다.
2. 위에 두가지 select 의 차이가 왜 발생하는걸까요?
앞에 ~~~. 테이블이름 앞에 붙는 것때문에 쿼리문을 수정해야되는지 고민하고 있어서
DB접속정보만 잘 수정해주면 프로젝트내에 쿼리문을 수정하지 않아도 되는것인지 궁금합니다.
현재는 SA 로 로그인해서 TEST1 데이터베이스 접속하는 지라 tbl_Test1 이렇게 바로 쿼리 조회해서 쓰고있는데요.
테스트용으로 TEST2 데이터베이스에 똑같이 테이블 넣어주고 사용하려고 하고 있거든요.
제가 잘 이해를 못하고 있는것인지 도움이 필요해서 글을 남깁니다-_ㅠ
Comment 7
-
Terry
2016.09.20 11:37
-
코끼리박
2016.09.20 14:09
SQL 기본서적 참고할만한 기본개념잡을 책자 있을까요? DB에 관해서 대학교때 전반적으로 개념만 잡았지 실무에서 DBA도 아니고 쿼리수정해야할때 정말 난감하네요.
-
Terry
2016.09.20 14:34
어디까지나 제 기준이니 참고만 하세요..
'무작정 따라하기' 같은 책 추천합니다.
ERP 라던지, 쇼핑몰 구축이라던지..
현재 JAVA 를 하신다니, 웹언어 위주로 되어있을 쇼핑몰 구축 관련 책자가
좋을듯하네요..
최초 DB 생성,
테이블생성,
사용자단의 각각의 웹페이지 작성방법
등이 기술되어있을거에요..
몰라도 시간을 조금씩 들이셔서
처음부터 끝까지 쭈우욱 한번 해보시면 좋을듯해요..^^
DB도 JAVA,파워빌더,ASP,.NET 등과 유사한
언어라고 생각해요..
DB 스킬 (쿼리 작성 외) 이야 하시다보면 계속 느실테구요..
길게 보신다는 가정하에
사용자의 요구분석. 업무분석 능력도 필요하실겁니다.
따라하기 책을 추천한 이유는
DB및 웹언어 작성방법 외에도
왜 저렇게 작성을 해두었는지에 대한
전반적인 내용도 간략하게나마 기술되어있을거에요.
그렇게 작성을 한 이유를 뒤집어 생각해보면
사용자의 요구가 있었기 때문이고..
하기의 프로세스 기준으로 처리가 되었을테니까요.
1. 사용자의 요구분석
2. 업무분석
3. 설계 (프로세스 흐름도, ERD 외)
4. 구현 (DB 생성,테이블 생성, 프로그램 개발 외 )
어떤 형태로 움직이는지 감을 조금이라도 잡으실 수 있을듯합니다.
DB에 국한해서 답변을 드리기보다는
큰 그림 ( 제 기준에서는-_-;;; )을 같이 잡으시는게 좋을듯해요.
그럼 고생하세요~~!
-
이리
2016.09.20 11:47
-
코끼리박
2016.09.20 13:15
msdn 이 있네요 :-D 감사합니다
-
Terry
2016.09.20 11:48
2번째 질문에 대한 예시
--ssms 쿼리 분석기창에서
1번..
use test1
go
select * from tbl_test1
2번
select * from test1.tbl_test1
MSSQL 서버상에서 DML 사용시
원래는 풀명칭
select * from db명.테이블owner명.테이블명
의 형태로 가야되지만..
매번 그리처리하기는 힘드니..
db명 --> 로그인 id에서 기본 db 매핑하여 생략하고도 가능하게 해둠.
테이블owner명 --> 상기와 같은 맥락.. 이라고 보면 됨
단, 상기 작성한 내용들은 용어가 다소 틀린부분이나
잘못설명된 부분이 있을수 있습니다.
전체적인 큰 틀에서 대략적인 감을 잡으시는데
조금이라도 도움이 되었으면 좋겠네요.
그럼 고생하세요~~
-
코끼리박
2016.09.20 14:03
오 다시한번 알기쉽게 설명해주셔서 이해가 팍팍 됩니다.
감사합니다. 현재 자바프로젝트에서 DBDRIVER
DB_DRIVER = com.microsoft.sqlserver.jdbc.SQLServerDriver
DB_URL = jdbc:sqlserver://000.000.000.000:1433;SelectMethod=cursor;databasename=test1;user=test1;password=mssql
DB_USER = test1
DB_PWD = mssql
이런식으로 하고있는데요.
user 변경해서 잘 되는지 한번 확인해보도록하겠습니다:-D
1. DB Instance 라고 합니다.. 논리DB 라고도 하구요
2. DB스키마 라고 합니다..
저런 오류가 뜨지 않게 하려면..
-1) 쿼리 분석기 창에서
use DB명
으로 실행한이후에
select/delete/update 수행
-2) 로그인정보에서 기본 DB 설정
상기 2가지중 선택하시면 됩니다.